home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / rbbsdoc.zip / RBBSDOC1.DOC < prev    next >
Text File  |  1988-10-01  |  342KB  |  6,043 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                        REMOTE BULLETIN BOARD SYSTEM
  15.  
  16.                                   for the
  17.  
  18.                            IBM Personal Computer
  19.                              Version CPC17.1A
  20.  
  21.                          Technical Reference Guide
  22.  
  23.  
  24.                          Technical Support Number
  25.                              (203) 268-9656
  26.                          (calls returned COLLECT)
  27.  
  28.                             Copyright 1983-1988
  29.  
  30.                                     by
  31.  
  32.                         D. Thomas Mack
  33.                         39 Cranbury Drive
  34.                         Trumbull, Conneticut 06611
  35.                         DATA  #1 -- (203) 268-5315
  36.                               #2 -- (203) 268-0129
  37.  
  38.                         Jon Martin
  39.                         4396 N. Prairie Willow Ct.
  40.                         Concord, California 94521
  41.                         DATA  -- (415) 689-2090
  42.  
  43.                         Ken Goosens
  44.                         5020 Portsmouth Road
  45.                         Fairfax, Virginia 22032
  46.                         DATA  #1,2,3 -- (703) 978-6360
  47.  
  48.                               October 2, 1988
  49. RBBS-PC Version CPC17-1A                                    October 2, 1988
  50. Copyright 1988 by D. Thomas Mack                            Page 2 of 232
  51.  
  52.                         TABLE OF CONTENTS                            Page
  53.                         -----------------                            ----
  54.  1.   INTRODUCTION                                                     6
  55.       1.1  The Capital PC User Group
  56.       1.2  The "contributions" requested for RBBS-PC
  57.       1.3  The "history" behind RBBS-PC                                7
  58.       1.4  RBBS-PC Update Conventions                                 14
  59.       1.5  Beta Test Sites, Where and Why                             15
  60.       1.6  An Example of "Users Helping Users"                        17
  61.  
  62.  2.   Summary of RBBS-PC's Features                                   19
  63.       2.1  General                                                    20
  64.       2.2  Messaging
  65.       2.3  File System Management and Exchange                        22
  66.       2.4  The User Interface                                         24
  67.       2.5  SYSOP Protection                                           26
  68.       2.6  SYSOP Functions, Features, and Support                     27
  69.       2.7  System Access Management                                   28
  70.       2.8  Communications Support                                     29
  71.       2.9  "Base-Line" Hardware and Software Requirements             30
  72.  
  73.  3.   RBBS-PC's SUPPORT POLICIES                                      32
  74.       3.1  RBBS-PC's Vendor Support Policy
  75.       3.2  RBBS-PC's User Support Policy                              36
  76.  
  77.  4.   HOW TO GET A COPY OF RBBS-PC SENT TO YOU                        36
  78.  
  79.  5.   FILES RBBS-PC USES                                              37
  80.       5.1  RBBS-PC System Files                                       38
  81.       5.2  RBBS-PC Text Files                                         41
  82.  
  83.  6.   INSTALLING RBBS-PC FOR THE FIRST TIME                           44
  84.  
  85.  7.   THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC    48
  86.  
  87.  8.   PLANNING YOUR USER INTERFACE                                    50
  88.       8.1  Menus Shown to Callers
  89.       8.2  Subsystem Prompts Shown to Callers                         51
  90.       8.3  Commands Available to Callers
  91.       8.4  RBBS-PC's "Wrap-around" Command Search                     52
  92.       8.5  How to Have a Single Universal Command Line
  93.       8.6  RBBS-PC's Programmable User Interface (PUI)                55
  94.            8.6.1 An Example Using PUI
  95.            8.6.2 How to Implement PUI                                 56
  96.       8.7  RBBS-PC's Support of Sub-menus                             59
  97.            8.7.1 How to Implement Sub-menus                           61
  98.       8.8  RBBS-PC's "Macro" Command Support
  99.       8.9  RBBS-PC's "Smart" Text Files                               63
  100.       8.10 "Colorizing" the RBBS-PC User Interface                    65
  101.       8.11 RBBS-PC's Automtaic Operator Page Option                   68
  102.  
  103.  9.   PLANNING ON HOW TO UNIQUELY IDENTIFY CALLERS                    69
  104.       9.1  How to Set up Identifying and Individuation Fields         70
  105.       9.2  Preloading Identities for Instant Access                   71
  106. RBBS-PC Version CPC17-1A                                    October 2, 1988
  107. Copyright 1988 by D. Thomas Mack                            Page 3 of 232
  108.  
  109.                         TABLE OF CONTENTS (continued)                Page
  110.                         -----------------------------                ----
  111. 10.   RBBS-PC'S AUTOMATIC SUBSCRIPTION AND TIME MANAGEMENT SYSTEM     72
  112.       10.1  Setting it Up                                             73
  113.  
  114. 11.   USING THE "CONFIG" UTILITY TO CUSTOMIZE RBBS-PC                 73
  115.       11.1  Global RBBS-PC Parameters (Part 1 of 3)                   74
  116.       11.2  Global RBBS-PC Parameters (Part 2 of 3)                   76
  117.       11.3  Global RBBS-PC Parameters (Part 3 of 3)                   78
  118.       11.4  RBBS-PC System Files (part 1)                             80
  119.       11.5  RBBS-PC System Files (part 2)                             83
  120.       11.6  Parameters for RBBS-PC "Doors"                            85
  121.       11.7  Parameters for RBBS-PC's Security (part 1)                86
  122.       11.8  Parameters for RBBS-PC's Security (part 2)                88
  123.       11.9  Parameters for Multiple RBBS-PC's/Conferences             92
  124.       11.10 RBBS-PC SYSOP Utilities                                   94
  125.       11.11 Parameters for RBBS-PC's File Management System           95
  126.       11.12 Communications Parameters (part 1)                        98
  127.       11.13 Communications Parameters (part 2)                       102
  128.       11.14 Parameters for RBBS-PC NET-MAIL                          103
  129.       11.15 New Users Parameters                                     105
  130.       11.16 Use of the Library Sub-System                            106
  131.       11.17 RBBS-PC Parameters for Color                             107
  132.  
  133. 12.   THE HAYES MODEM SWITCH SETTINGS AND CONSIDERATIONS             107
  134.       12.1  Hayes Smartmodem 1200 Switch Setting Considerations
  135.       12.2  Hayes Command's Considerations                           108
  136.             12.2.1 Command to Reset the Modem                        109
  137.             12.2.2 Command to Initialize the Modem
  138.             12.2.3 Command to Count the Number of Rings              110
  139.             12.2.4 Command to Answer the Phone
  140.             12.2.5 Command to Take the Phone Off the Hook
  141.             12.2.6 Commands to Initialize Smartmodem 2400 Firmware   111
  142.             12.2.7 Commands to Initialize Smartmodem 9600 Firmware   112
  143.  
  144. 13.   RBBS-PC's FILE MANAGEMENT SYSTEM                               113
  145.       13.1  Multiple Directory Format                                114
  146.       13.2  The Single FMS Directory Format                          115
  147.       13.3  Advantages and Disadvantages of FMS over Multiple
  148.                      Directories
  149.       13.4  Creating the FMS Directory                               117
  150.       13.5  Defining the FMS Category Codes                          119
  151.       13.6  The "Library" Subsystem, CD-ROM, and FMS                 120
  152.             13.6.1 How the "Library" Subsystem Works                 122
  153.             13.6.2 The "Library" Subsystem and PC-SIG's CD-ROM       123
  154.       13.7  Creating the Personal Files Directory                    123
  155.  
  156. 14.   SETTING UP ".BAT" FILES FOR RBBS-PC                            127
  157.  
  158. 15.   THE USE OF RBBS-PC "DOORS"                                     128
  159.  
  160. 16.   THE SECURITY FEATURES OF RBBS-PC                               132
  161.       16.1  RBBS-PC's Security Features
  162.       16.2  Examples of Uses for RBBS-PC's Security System           133
  163. RBBS-PC Version CPC17-1A                                    October 2, 1988
  164. Copyright 1988 by D. Thomas Mack                            Page 4 of 232
  165.  
  166.                         TABLE OF CONTENTS (continued)                Page
  167.                         -----------------------------                ----
  168.       16.3  How to Implement the Password File                       134
  169.       16.4  How to Implement the Security for Download Files         137
  170.       16.5  How to Implement the Security for RBBS-PC Commands       139
  171.       16.6  Beware of the "Trojan Horse"                             140
  172.  
  173. 17.   SYSOP FUNCTIONS                                                141
  174.       17.1  SYSOP Commands Within RBBS-PC
  175.       17.2  SYSOP's Use of Function Keys                             143
  176.  
  177. 18.   MESSAGING WITHIN RBBS-PC                                       145
  178.       18.1 The Differences Between "Conferences" and "Sub-boards"
  179.       18.2 How to Make a "Conference" or "Sub-board" Successful      148
  180.       18.3 How to Set Up a "Conference" or "Sub-board"
  181.       18.4 How to Establish a "Conference" or "Sub-board" SYSOP      149
  182.  
  183. 19.   AUTOMATICALLY NOTIFYING CALLERS THAT THEY HAVE MAIL WAITING    150
  184.  
  185. 20.   RBBS-PC's QUESTIONNAIRE FACILITY                               151
  186.  
  187. 21.   RBBS-PC's Standard Interface for Protocol Drivers              154
  188.       21.1  Parameters passed to a protocol driver                   155
  189.       21.2  Calling external protocols using "templates"             158
  190.       21.3  Parameters returned by a protocol driver                 160
  191.       21.4  The protocol drivers available for RBBS-PC
  192.  
  193. 22.   UPLOADED FILE TIPS                                             162
  194.  
  195. 23.   DUE WARNING AND SYSOP'S LEGAL LIABILITY                        162
  196.  
  197. 24.   COMPILING AND LINKING RBBS-PC                                  163
  198.       24.1  Compiling CONFIG and RBBS-PC                             164
  199.       24.2  LINKing CONFIG                                           165
  200.       24.3  LINKing RBBS-PC
  201.  
  202. 25.   LIMITED LICENSE                                                166
  203.  
  204. 26.   LIMITED WARRANTY                                               166
  205.  
  206. 27.   UPGRADING FROM CPC16-1A TO CPC17-1A                            166
  207.  
  208. 28.   PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE                167
  209.  
  210. 29.   RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD               169
  211. RBBS-PC Version CPC17-1A                                    October 2, 1988
  212. Copyright 1988 by D. Thomas Mack                            Page 5 of 232
  213.  
  214.                         TABLE OF CONTENTS (continued)                Page
  215.                         -----------------------------                ----
  216. APPENDICES:
  217.      A -- RBBS-PC Record Formats                                     171
  218.      B -- RBBS-PC in a DESQview Environment                          176
  219.      C -- RBBS-PC in a MultiLink Environment                         180
  220.      D -- RBBS-PC in a CORVUS Network                                182
  221.      E -- RBBS-PC in an ORCHID or AST PCnet Network                  183
  222.      F -- RBBS-PC in an Alloy PC-Slave/16 Environment                185
  223.      G -- RBBS-PC and 10-NET Network                                 191
  224.      H -- RBBS-PC and the Hearing-Impaired                           192
  225.      I -- RBBS-PC and the IBM PCjr                                   193
  226.      J -- RBBS-PC Subscription Service                               195
  227.      K -- RBBS-PC National Listing Service                           196
  228.      L -- RBBS-PC and the Ark-Paradyne Modem Switch Settings         197
  229.      M -- RBBS-PC and the Anchor Signalman Express (MK12)            200
  230.      N -- RBBS-PC and the Everex 2400 Modem Switch Settings          201
  231.      O -- RBBS-PC and the Promethus 2400G Modem Switch Settings      202
  232.      P -- U.S. Robotics Courier 2400 and HST Switch Settings         203
  233.      Q -- RBBS-PC and the FASCTOMM 2496 Turbo Modem                  205
  234.      R -- RBBS-PC and the ZOOM Modem HC2400                          207
  235.      S -- RBBS-PC and the AT's RS-232 Cable                          208
  236.      T -- RBBS-PC and BASIC Compiler Patches for "Doors"             209
  237.      U -- Using RBBS-PC to access Data Bases Remotely                213
  238.      V -- Using RBBS-PC with SeaDOG to access FIDO-NET               217
  239.      W -- DOS Limitations on Running Program Remotely                221
  240.      X -- Using RBBS-PC with DoubleDOS                               222
  241.      Y -- Recompiling RBBS-PC to Reduce Memory Requirements          224
  242.      Z -- RBBS-PC and the MICROCOM AX\9624c Switch Settings          226
  243.     AA -- RBBS-PC and the Leading Edge Series L 2400B Modem          227
  244.  
  245. CONFIG Parameter Cross-Reference Index                               228
  246. RBBS-PC Version CPC17-1A                                    October 2, 1988
  247. Copyright 1988 by D. Thomas Mack                            Page 6 of 232
  248.  
  249. 1. INTRODUCTION
  250. ---------------
  251. RBBS-PC  is  a Remote Bulletin Board System for the IBM personal  computer,
  252. hence  the name RBBS-PC.   RBBS-PC has two fundamental purposes --
  253.  
  254.    A.  to be a catalyst for the free exchange of information, and
  255.    B.  to serve as an educational example of what can be done with BASIC.
  256.  
  257. I distribute  RBBS-PC  under  the  trademark  "Userware" because RBBS-PC is
  258. the sure  and  present  proof that software which is shared becomes  better
  259. than it  was.    RBBS-PC  is  the  result of many thousands of man-hours of
  260. effort   and  is  what  it   is   today   because  of  the  many   software
  261. contributions  and suggestions  by  members  of the Capital PC Users  Group
  262. and others.    Everyone has something  that they believe strongly in.   For
  263. me  it  is the "Userware" concept and the  free  exchange  of  information.
  264. As John Naisbitt states in his book, MEGATRENDS,
  265.  
  266.          "...the new source of power is not money in the hands of
  267.          a few, but information in the hands of the many."
  268.  
  269. For this reason I have devoted the time  I  have in writing,   maintaining,
  270. and  enhancing  RBBS-PC  over the  years.   The  reason   that   I  am  the
  271. registered copyright owner of RBBS-PC and grant  the  limited  license that
  272. I do is to primarily insure that these  purposes  are  not abrogated.
  273.  
  274. 1.1 The Capital PC Users Group
  275. ------------------------------
  276. Because the fundamental purposes of RBBS-PC and the Capital PC User   Group
  277. are   similar,   each  new version of RBBS-PC  is initially  sent  to   the
  278. CPCUG's   Software  Exchange  for  distribution.   CPCUG  is  a    Maryland
  279. Corporation  whose  "legal name" is the Capital PC User Group   Inc.    The
  280. CPCUG  is  an all-volunteer, non-profit organization according  to  Section
  281. 501C3,   Social  Welfare,  of  federal law.   All revenues are  re-invested
  282. in and applied toward CPCUG's education programs.
  283.  
  284. 1.2  The "contributions" requested for RBBS-PC
  285. ----------------------------------------------
  286. The "contributions" requested for RBBS-PC can be one of four types:
  287.  
  288.    A.  Modifications   to  RBBS-PC,   itself,   that  are  documented   and
  289.        distributed  as .MRG files against the "base-line" source code  that
  290.        other SYSOPs  might elect to incorporate into their version of RBBS-
  291.        PC  (remember RBBS-PC can not be distributed in modified  form  with
  292.        violating  both  the  RBBS-PC  copyrights and  the  limited  license
  293.        granted with it's use).
  294.  
  295.    B.  Publicly distributable software.   It can either be "public  domain"
  296.        (i.e.  software  which  the author has relinquished all  rights  and
  297.        which may be appropriated by anyone for use in any way), or publicly
  298.        distributable  software  (i.e.  software  in which  the  author  has
  299.        retained  his  rights  and which may only be used according  to  the
  300.        conditions under which the author has designated).
  301. RBBS-PC Version CPC17-1A                                    October 2, 1988
  302. Copyright 1988 by D. Thomas Mack                            Page 7 of 232
  303.  
  304.    C.  Equipment  or  services.   Be  inventive in  light  of  the  CPCUG's
  305.        objectives  under  1.1.   If you or your  organization  can   donate
  306.        equipment,  software,  supplies, or services to the CPCUG, feel free
  307.        to   do   so.    If you are so inclined,  but  before  you  do   so,
  308.        contact   the  Capital PC User Group, 51 Monroe Street,  Plaza  East
  309.        Two,  Rockville,  MD 20850.  For general   information   about  the
  310.        appropriateness of the bequest,  contact the Capital  PC User  Group
  311.        directly at (301) 762-6775.
  312.  
  313.    D.  Money  -  the  last  level of "contribution".    Money  is  the  one
  314.        commodity  that we are willing to exchange among each other  without
  315.        first  having   obtained the respect,  consideration,  etc.  of  the
  316.        other party.  It is perhaps  the  easiest  to give as it  exonerates
  317.        us  from the  other  levels  of  "contribution."   CPCUG is  an  all
  318.        volunteer  organization   and,   of   course,   money   is    seldom
  319.        plentiful.    However  the essence of CPCUG is  the   time,   ideas,
  320.        and effort that each of the volunteers contribute to it.   For  this
  321.        reason,   while money is always appreciated,  money is not the  best
  322.        or  even  the  second-best  type of "contribution" you could  make.
  323.  
  324. Independent  of   any  donations  of  enhancements  to  RBBS-PC,   publicly
  325. distributable   software,   equipment,   services,   supplies,  or   money,
  326. consider  becoming  a CPCUG member.  Simply send your  name,  address,  and
  327. phone  number along with $35 to CPCUG,  51 Monroe Street, Plaza  East  Two,
  328. Rockville, MD 20850 or call their membership hot line at (301) 670-1737.
  329.  
  330. If in the final analysis you feel that you can do none of the above,
  331.  
  332.      o remember those who have,
  333.      o enjoy what they have nurtured, and
  334.      o keep the faith with those who have gone before you.
  335.  
  336. 1.3 The "history" behind RBBS-PC
  337. --------------------------------
  338. Electronic  bulletin  board  systems have been around ever  since  personal
  339. computers  existed.   The  first  ones  were  very  primitive  and  usually
  340. consisted  of some posted notices and maybe allowed for  on-line  messages.
  341. It  must be remembered that the IBM PC was only announced in August of 1981
  342. and  first  became  available in October of  1981.   Therefore  it  is  not
  343. surprising  that  the  early  history of BBS' is  associated  with  non-IBM
  344. personal computers.
  345.  
  346. The  "early history" of bulletin board systems began around 1978 in Chicago
  347. with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was
  348. created by Ward Christensen and Randy Suess -- members of the Chicago  Area
  349. Computer  Hobbyist Exchange (CACHE).   CBBS for the CP/M is written in 8080
  350. Assembler  language  (11,000 lines of it) and,  like the early versions  of
  351. RBBS-PC (i.e.  prior to CPC12-5A),  detects the baud rate and the parity of
  352. the  user when he first signs on from the three carriage returns  that  the
  353. user must enter.
  354.  
  355. About  the  same time,  Bill Abney wrote a BBS for the Radio  Shack  TRS-80
  356. Models I and II called Forum-80.
  357. RBBS-PC Version CPC17-1A                                    October 2, 1988
  358. Copyright 1988 by D. Thomas Mack                            Page 8 of 232
  359.  
  360. The  earliest  BBS that I know of was written for the Apple (who  else  had
  361. personal computers in those days?) called the "Apple Bulletin Board System"
  362. (ABBS).   It was written by Craig Vaughn and Bill Blue.  They later created
  363. another bulletin board  system for the Apple II called the People's Message
  364. System (PMS).
  365.  
  366. Another  Apple bulletin board system that came into being was for the Apple
  367. II,  II+,  and  IIE  as  well as the Franklin Ace and  it  was  called  the
  368. CommuniTree.   It  was  written in the FORTH language by  Dean  Gengle  and
  369. several others.
  370.  
  371. When  IBM announced its first personal computer,  the IBM PC,  in August of
  372. 1981,  there was no BBS for it.  In the summer of 1982, Brad Hanson found a
  373. prototype  version  written by Russ Lane in IBM's BASIC  on  David  Crane's
  374. Dallas RCP/M\CBBS system.   Brad added many fixes and modifications. In the
  375. first  half  of  1983,  many  members  of  the  Capital  PC  Users  Group's
  376. Communication  Special  Interest  Group (SIG) such as  Larry  Jordan,  Rich
  377. Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further
  378. enhanced it and added XMODEM file transfer capability until it became known
  379. as  RBBS-PC  CPC  09  in  May of  1983.   At  that  time  each  feature  or
  380. modification  was  identified by a new version number;  it still  ran  only
  381. under  the BASIC interpreter;  and was both relatively slow (because of the
  382. interpreter) and somewhat unstable (it would normally "crash" at least once
  383. each day).
  384.  
  385. Late  in  May of 1983,  I asked Rich Schinnell if there was any   "bulletin
  386. board" software available for the IBM PC written in BASIC.  Rich told me to
  387. give Larry Jordan a call.   Larry said that he was just getting CPC09 ready
  388. to  send to Rich Schinnell who at that time was Director of the Capital  PC
  389. User  Group's Public Domain Software Library and that I could get  it  from
  390. Rich.   I  did, and still have the diskette just as Rich sent it to  me  --
  391. dated June 22, 1983.
  392.  
  393. Bulletin board systems,  historically were the result of a single person or
  394. small group of persons' efforts and tended to serve a very narrow  interest
  395. group  -- typically  those  interested  in the  medium  itself  (i.e.  PCs,
  396. programming,  communications,  etc.).  This was true up  to  and  including
  397. RBBS-PC  CPC09.   In fact, most of the incentive to get the  public  domain
  398. versions  of RBBS-PC (CPC09 and earlier) functioning was to  introduce  the
  399. XMODEM  protocol  to  the  IBM  PC-based  community.   In  this  CPC09  was
  400. successful  and  may  have  been the primary incentive  for  XMODEM  to  be
  401. included in PC-TALK at all.
  402.  
  403. Since  June of 1983 I have authored and released THIRTY versions of RBBS-PC
  404. and  distributed them exclusively through the Capital PC User  Group  under
  405. the limited license described in section 25 of this documentation.  At this
  406. time  RBBS-PC  appears to have become the "industry standard" for  IBM-type
  407. personal  computer bulletin board systems.   However,  even from  the  very
  408. beginning BBSs have excelled whenever:
  409.  
  410.      a.) there was a geographically dispersed audience,
  411.      b.) with a need to exchange highly complex/technical information,
  412.      c.) in a timely and accurate manner.
  413. RBBS-PC Version CPC17-1A                                    October 2, 1988
  414. Copyright 1988 by D. Thomas Mack                            Page 9 of 232
  415.  
  416. RBBS-PC's  impact has been to open an entirely new medium of communications
  417. between people.   Rather than as an end in and of itself,  RBBS-PC has come
  418. to  serve  as  a  means to an end -- the free  exchange  of  ideas.   On  a
  419. technical  level  it is certainly an example that shows  "real  programmers
  420. can/do program in BASIC."  I would like to think that RBBS-PC had something
  421. to  do  with  IBM and Microsoft coming out with new versions of  the  BASIC
  422. compiler  that  support  communications,  sub-routines,  local  and  global
  423. variables, file-locking in a networking environment, etc.
  424.  
  425. RBBS-PC represents a fundamental cornerstone, not just a phase, in what can
  426. be  viewed  as a "social renaissance."  The three  areas that  I  mentioned
  427. earlier  in  which  bulletin  boards  excel seem to  ebb  and  flow  within
  428. communities  and organizations.   RBBS-PC provides an almost  instantaneous
  429. mechanism  by which these needs can be met.   Many of the Big 8  accounting
  430. firms  bring up RBBS-PC's just to fulfill one contract so that the  various
  431. geographically  disbursed  members on the contract can  communicate  across
  432. time zones and continents.   Unlike radio,  newspapers,  and television  --
  433. RBBS-PC provides a vehicle within which information can be EXCHANGED!  That
  434. is  what makes RBBS-PC so unique.   Because the exchange is written,  it is
  435. structured.  Because it is structured, it can be thoughtful.
  436.  
  437. The   "social  renaissance"  that  RBBS-PC  represents  is  the  electronic
  438. elimination of those barriers that had previously inhibited the  "exchange"
  439. of  information  within  our  society.   RBBS-PC  provides  every  personal
  440. computer owner with his own "soap-box" in a national Hyde Park.  Previously
  441. the  channels  of communication had built-in barriers to  "exchange";  with
  442. RBBS-PC those barriers begin to cease to exist.
  443.  
  444. While  only  the most fanatical RBBS-PC trivia experts may  be  interested,
  445. I've  gone  back and checked all the documentation and releases of  RBBS-PC
  446. that I've authored and here is the tedious chronology:
  447.  
  448. RBBS-PC   Initial         Major Enhancements
  449. Version   Release
  450. Number     Date
  451.  
  452. CPC10.0   07/04/83  RBBS-PC  first written to be compilable by IBM's  BASIC
  453.                     compiler, version 1.0
  454.  
  455. CPC11.0   08/10/83  RBBS-PC  restructured  so  that  all  parameters   were
  456.                     external (i.e. in the RBBS-PC.DEF) allowing  SYSOPs who
  457.                     didn't want to spend the $300 for the BASIC compiler to
  458.                     tailor  RBBS-PC to their taste.  CONFIG.BAS  was  first
  459.                     written to generate RBBS-PC.DEF.
  460.  
  461. CPC11.1   09/15/83  Jon Martin contributed UTSPACE.OBJ, a sub-routine  that
  462.                     allowed  the compiled version of RBBS-PC  to  determine
  463.                     the amount of free space available for uploading.
  464.  
  465. CPC11.2   10/01/83  The  error trapping within RBBS-PC was  completely  re-
  466.                     written to be more comprehensive.
  467.  
  468. CPC12.0   10/28/83  Tree-structured  file  directories and the  ability  to
  469.                     detect  that RBBS-PC was in a  "MultiLink"  environment
  470. RBBS-PC Version CPC17-1A                                    October 2, 1988
  471. Copyright 1988 by D. Thomas Mack                            Page 10 of 232
  472.  
  473. RBBS-PC   Initial         Major Enhancements
  474. Version   Release
  475. Number     Date
  476.                     were  incorporated.   "MultiLink" is a product  of  the
  477.                     Software Link, Inc. which allows DOS 1.1, 2.0, 2.1, 3.0
  478.                     and 3.1 to be "multi-tasking."
  479.  
  480. CPC12.1  12/18/83   The ability for a SYSOP who signed on remotely to  drop
  481. (Versions           into  DOS was added.  Also the "New" command was  added
  482. "A" to "F")         that allowed users to determine what new files had been
  483.                     made available since the last time they were on.
  484.  
  485. CPC12.2  04/08/84   The  security  system  designed  by  Ken  Goosens   was
  486. (Versions           incorporated. RBBS-PC's security system has an elegance
  487. "A" to "D")         unmatched even by the largest  mainframe.   Essentially
  488.                     the  security system designed by Ken  is  "self-locking
  489.                     lock"  and,  even  though  RBBS-PC's  source  code   is
  490.                     distributed,   it's   security  system   has   remained
  491.                     unbroken.  Of course, SYSOPs who didn't adhere to RBBS-
  492.                     PC's security structure have had their system "crashed"
  493.                     and  every  SYSOP should operate as if  the  very  next
  494.                     caller could crash his system.
  495.  
  496. CPC12.3  11/11/84   This was almost as complete and as major a re-write  of
  497. (Versions           RBBS-PC as CPC10.0 had been. Beginning with CPC12.3  up
  498. "A" to "B")         to nine RBBS-PCs can share the same files in  either  a
  499.                     multi-tasking DOS environment (i.e. MultiLink from  the
  500.                     Software  Link,  Inc.)  or  in  a  local  area  network
  501.                     environment (i.e. Corvus or Orchid).
  502.  
  503. CPC12.4  03/10/85   RBBS-PC's stature  in the  industry  became  recognized
  504. (Versions           when, as author of RBBS-PC, I was granted a license  by
  505. "A", "A1",          Microcom to incorporate their proprietary MNP  protocol
  506. and "B")            into RBBS-PC. Almost at the same time many manufactures
  507.                     recognized  the institution that RBBS-PC had become  in
  508.                     our   industry   and  elected   to   include   "RBBS-PC
  509.                     compatibility"  in  their  minimum  criteria  for   the
  510.                     introduction  of their new products.  RBBS-PC's  Vendor
  511.                     Support Program is more fully explained in the  RBBS-PC
  512.                     documentation  but  one direct result of this  was  the
  513.                     introduction  of 300/1200/2400 BAUD support in CPC12.4A
  514.                     before most such modems were generally available.
  515.  
  516. CPC12.5  07/14/85   RBBS-PC was enhanced to allow 36  copies of RBBS-PC  to
  517. (Versions           share the same files in a network environment.  RBBS-PC
  518. "A" to "B")         automatically answers the phone and no longer  requires
  519.                     each caller to enter up to 3 carriage returns in  order
  520.                     for  RBBS-PC to detect the users baud rate and  parity.
  521.                     Logon to RBBS-PC has been made much more efficient with
  522.                     the  USERS file no longer being  searched  sequentially
  523.                     and the MESSAGES file no longer being read three times.
  524.                     Version  CPC12-5B,  released August 25, 1985,  WAS  THE
  525.                     LAST VERSION COMPILABLE BY VERSION 1.0 OF THE IBM BASIC
  526.                     COMPILER!
  527. RBBS-PC Version CPC17-1A                                    October 2, 1988
  528. Copyright 1988 by D. Thomas Mack                            Page 11 of 232
  529.  
  530. RBBS-PC   Initial         Major Enhancements
  531. Version   Release
  532. Number     Date
  533.  
  534. CPC13.1 12/01/85    RBBS-PC  was completely rewritten for both the  Version
  535. (Version            2.0  of  the IBM BASIC compiler ($495 list  price)  and
  536.    "A")             Microsoft's  QuickBASIC Version 1.0 ($99  list  price).
  537.                     XMODEM  with CRC was added as a file-transfer  protocol
  538.                     as well as the ability to display on the color  monitor
  539.                     of  the PC running RBBS-PC the color/graphics that  the
  540.                     remote user sees exactly as he  sees them.
  541.  
  542. CPC14.1  03/16/86   RBBS-PC's internal structure was split into two parts -
  543. (Versions           - a RBBS-PC.BAS for the main-line source code and logic
  544. "A", "B",           and a  RBBS-SUB.BAS for  commonly  called  subroutines.
  545. "C", and            This allows unlimited growth for RBBS-PC  by  providing
  546.    "D")             multiple "code segments" within RBBS-PC.   Support  for
  547.                     on-line   questionnaires,  auto-downloading,  and   the
  548.                     Columbia  University-sponsored KERMIT  RBBS-PC  Version
  549.                     protocol  were also included as well as the  option  to
  550.                     utilize  assembly language subroutines to increase  for
  551.                     better performance over their BASIC counterparts.
  552.  
  553. CPC15.1  03/15/87   RBBS-PC's  internal  structure  continued   to   become
  554.                     significantly  more modularized and structured.   Major
  555.                     enhancements  included  a File  Management  System  for
  556.                     directories,   additional  file   exchange   protocols,
  557.                     support for managing subscriptions, the ability to  run
  558.                     as  a  local  application on  a  network,  configurable
  559.                     command  letters,  the ability to use any field  or  to
  560.                     define a new field to identify callers, the ability  to
  561.                     individuate  callers  having  the  same  ID,   multiple
  562.                     uploads  on  a  single command line,  new  A)nswer  and
  563.                     V)erbose  ARC list commands, context  sensitive   help,
  564.                     and  a  new subsystem  for software "libraries".
  565.  
  566. CPC16.1  03/27/88   RBBS-PC's  internal  structure  continued   to   become
  567. (Version            significantly more  modularized and  structured.  Major
  568.   "A")              enhancements included the addition of "sub-boards" (i.e.
  569.                     conferences with there own bulletins, file areas, menus
  570.                     etc.), a programmable user interface, the capability to
  571.                     have  SYSOP-written  "sub-menus" for any  command,  the
  572.                     ability  to hang off of a public data network  such  as
  573.                     Compuserve's   as  a  "node",  the   incorporation   of
  574.                     "personal   downloads"   (i.e.  files   only   specific
  575.                     individuals  could list/download), the ability to  vary
  576.                     the amount of time a user has on the system by the time
  577.                     of  day the user logs on, the capability of  preventing
  578.                     any  message (public or private) from being read  until
  579.                     the  SYSOP has reviewed it, an enhanced CONFIG  utility
  580.                     with  many  more options, YMODEM protocol  built-in  to
  581.                     RBBS-PC's   main-line  source  code,  the  ability   to
  582.                     automatically add users to conferences, and support for
  583.                     The Software Link's MultiLink  Version 4.0. Despite all
  584. RBBS-PC Version CPC17-1A                                    October 2, 1988
  585. Copyright 1988 by D. Thomas Mack                            Page 12 of 232
  586.  
  587. RBBS-PC   Initial         Major Enhancements
  588. Version   Release
  589. Number     Date
  590.                     these   enhancements,  the  BASIC  RBBS-PC   code   was
  591.                     significantly enhanced such that it only requires  268K
  592.                     to  run -- allowing two copies to run in  multi-tasking
  593.                     DOS environments that have 640K available.
  594.  
  595. CPC17.1  10/02/88   RBBS-PC's  internal  structure  continued   to   become
  596. (Version            significantly more  modularized and  structured.  Major
  597.   "A")              enhancements were made in the System Support  area with
  598.                     the  support  for  up to  eight  communications  ports;
  599.                     built-in interfaces to external communications  drivers
  600.                     based  on Vince Perriello's "FOSSIL"  driver  concepts;
  601.                     automatic notification of the SYSOP when specific users
  602.                     log   on;  improved  automatic  invocation   of   other
  603.                     applications based on time of day; and SYSOP-selectable
  604.                     time  delays that users must wait before being able  to
  605.                     download   or  exit  to  a  door.    RBBS-PC's   unique
  606.                     programmable  user  interface  (PUI)  was  enhanced  to
  607.                     support  "macros" (i.e. use a single command to  invoke
  608.                     any  number  of  RBBS-PC  commands);   SYSOP-selectable
  609.                     colors    for   all   prompts   and   messages    (i.e.
  610.                     "colorization");  caller-selectable "colorization"  for
  611.                     text (i.e. color, bold or normal, highlighting of text,
  612.                     etc.);   and personalized text files (i.e.  text  files
  613.                     that  can  dynamically  adapt  to  include  information
  614.                     unique  to each caller).  The messaging within  RBBS-PC
  615.                     was enhanced to notify each caller that logs on of  the
  616.                     number  of new messages and how many are  addressed  to
  617.                     the  caller  for the conferences to  which  the  caller
  618.                     belongs.   The  text editor function for  messages  was
  619.                     enhanced  to allow any character to be  edited.   RBBS-
  620.                     PC's standard "threaded" message search now also  scans
  621.                     the text of the messages for matches.  The RBBS-PC file
  622.                     subsystem was also significantly enhanced to include an
  623.                     unlimited   number  of  installable  protocols;   batch
  624.                     downloading for such protocols that support this  (i.e.
  625.                     Zmodem, Megalink, and Sealink); and control of  callers
  626.                     ability  to  download  based on either  the  number  of
  627.                     characters  or  the ratio of the callers  downloads  to
  628.                     uploads.
  629.  
  630. During  the  evolution  of  RBBS-PC I have had the  distinct  privilege  of
  631. working   with   many  contributors.    Contributions  have   ranged   from
  632. suggestions,  to software fixes,  to significant enhancements,  to improved
  633. documentation.   Some  of the individuals named here have  continued  their
  634. contributions to RBBS-PC even to the current release.  Others have gone  on
  635. to pursue other interests.  Where they are now, for the most part, I do not
  636. know.   Whether they have become heroes or villains, it is  not  important.
  637. None  should  be forgotten.  In their contributions to  RBBS-PC's  on-going
  638. growth,  each  has paused to give of themselves without hope of  reward  by
  639. practicing  RBBS-PC's fundamental principle -- "users helping users."   For
  640. those  who became less than they were, they should be remembered  for  what
  641. RBBS-PC Version CPC17-1A                                    October 2, 1988
  642. Copyright 1988 by D. Thomas Mack                            Page 13 of 232
  643.  
  644. they  contributed.   For  those  who have became  more,  I  am  continually
  645. reminded  that  RBBS-PC  has granted me the privilege  of  walking  in  the
  646. company of giants.
  647.  
  648. While I have met very few of these people personally, those  whose names  I
  649. remember are:
  650.  
  651. Doug Azzarito       John German       Kevin Lutz          Andrew Silber
  652. Jeff Batdorf        Read Gilgen       Matt Malden         Gregg Snyder
  653. Rod Bowman          Ken Goosens       Carl Margolis       Robert Snyder
  654. Randy Brodersen     Ray Gwinn         Jon Martin          Carl Spencer
  655. Mike Brown          Dave Hacquebord   Robert Mahoney      David Staehlin
  656. Sam Brown           Steve Harrison    Sidney Markowitz    Stan Staten
  657. Mike Button         Gary Hoff         Louie McCaw         Dorn Stickle
  658. Vince Castelli      Gary Howrith      Wes Meier           Terry Steichen
  659. Rob Cecchino        Charlie Innusa    John Morris         Randy Sun
  660. Tom Collins         Loren Jones       Bill Newkirk        Yew Seng Tan
  661. Drew Commins        Larry Jordan      Jeregen Nordhausen  Terry Taylor
  662. Ezra Conger         Robert Jueneman   Vince Perriello     Jan Terpstra
  663. Ed Copley           Vern Kallegin     Harvey Pierce       David Terry
  664. Richard Couture     Dave Kleinschmidt Danny Plunkette     Arnold Thomsen
  665. Bob Crammer         Steven Kling      Lee Pollard         Daan van der Weide
  666. Dave Crane          Ronald Koridon    Jeff Porter         Rick Wadowski
  667. Everett Delano      Steve Lieber      James Reinder       Clark Walker
  668. Peter Eibl          Steven Linhart    Kurt Riegel         Kim Wells
  669. Warren Fox          Joseph Lionelle   Joel Ricketts       Bob Westcott
  670. John Friel          Scott Loftesness  Jacques Rodrigue    Robert White
  671. Jim Fry             Harry Logan       Dick Rohradnz
  672. Asa Fulton          Gene Lowry        Rich Schinnell
  673. Kent Galbraith      James Ludwick     Mark Seiden
  674. Mitch Geier
  675.  
  676. Special  thanks goes to SYSOPs who helped sponsor enhancements to  RBBS-PC,
  677. including Ken Rogers of the  United States Department of Commerce  ECONOMIC
  678. BULLETIN    BOARD   who   encouraged   configurable   identification    and
  679. individuation,  Loren Jones of the The Center for Law and Computers at  the
  680. Illinois  Institute  of  Technology's  Chicago-Kent  College  of  Law   who
  681. contributed to subscription support,  John Rittwage of the American College
  682. of  Obstretricans  and Gynecologists who helped support  submenus  and  the
  683. programmable user interface, and Brian Kelly of National Credit  Appraisals
  684. and  Reporting,  whose special needs prompted the development  of  personal
  685. downloading.
  686.  
  687. To  those  whose names have not been mentioned -- apologies  are   extended
  688. Take comfort in knowing that you live on in the work that you have wrought.
  689.  
  690. Jon  Martin is primarily responsible for whatever technical excellence  that
  691. exists  in RBBS-PC -- including the ability to have multiple RBBS-PC's share
  692. the same files.    I am not a programmer and didn't even know BASIC until  I
  693. started   writing  RBBS-PC in June of 1983 and released RBBS-PC  CPC10.0  in
  694. July  of  1983.    Jon's  commitment to RBBS-PC has at least matched my own.
  695. Despite my  own  ineptness,   Jon's patience,  understanding,  and technical
  696. insights have been  unfailing over these several years and, I would like  to
  697. both  publicly  acknowledge his contributions to RBBS-PC  and   express   my
  698. RBBS-PC Version CPC17-1A                                    October 2, 1988
  699. Copyright 1988 by D. Thomas Mack                            Page 14 of 232
  700.  
  701. appreciation for his efforts on behalf of RBBS-PC.
  702.  
  703. I'd  also like to mention Ken Goosens' efforts on behalf of  RBBS-PC.   Ken
  704. took  the  time  and  trouble to wade through the  BASIC  source  code  and
  705. incorporated  the  "security"  system that  exists  within  RBBS-PC  today.
  706. Anyone   who   looked   at  the source code prior to release  CPC12-2A  can
  707. appreciate  the  magnitude  of  Ken's  efforts.
  708.  
  709. I  wish  space  allowed me to chronicle the contributions of  each  of  the
  710. contributors   to  RBBS-PC.    In  an age  of  cynicism,  RBBS-PC  and  the
  711. Userware  concept  represents an opportunity for each of us to give back to
  712. the world  something a little better than when we found it.   As I said  in
  713. section 1,  this is something that I believe in strongly.   To each of  the
  714. contributors  to  RBBS-PC  I  would like to say personally
  715.  
  716.          "I am very  proud  of  the company that RBBS-PC keeps."
  717.  
  718. All  changes to RBBS-PC since CPC10.0 have been "ADDITIVE, meaning that all
  719. capabilities in earlier versions are retained in the later versions.
  720.  
  721. 1.4  RBBS-PC Update Conventions
  722. -------------------------------
  723. RBBS-PC   continues  to evolve and be "debugged."  The   following   coding
  724. conventions  have been helpful in the past and you are requested to observe
  725. them in the future:
  726.  
  727. Updates  consist of two types of ASCII files.   One called xxxxxx.MRG which
  728. are   the   BASIC  source  statements  for the particular base-line  source
  729. code component of RBBS-PC to be updated.  The lines that have been modified
  730. are indicated as being so modified with a comment beginning in column 70 in
  731. the format as follows:
  732.  
  733. 4330 QUICK.SCAN.MESSAGES = FALSE                             ' CPC14-1D
  734.  
  735. These  .MRG  files  can be applied to the base-line  source  code  via  Ken
  736. Goosens  Batch Line EDitor utility program (BLED).   The BLED  utility  can
  737. easily  create  .MRG  files as it has both a file compare  and  file  merge
  738. function   that  is  specifically  geared  to  the  new  BASIC   compiler's
  739. capabilities that allow lines of source to be unnumbered.
  740.  
  741. The second file type is called xxxxxx.DOC.  It  describes on a line-by-line
  742. basis  the specific functions added or bug  that  was   fixed.    Obviously
  743. xxxxxx  can be anything you wish to name it.    The second type of file  is
  744. what  allows  me  to integrate several .MRG files  and   resolve   whatever
  745. conflicts that may exist.
  746.  
  747. The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  748.  
  749. 1.   If  a "bug" is being fixed CPCxx.x will be given a .MRG file name such
  750. as  CPC14-1D.MRG  with  a corresponding CPC14-1D.DOC  file  describing  the
  751. changes.    The   first  version  of  CPCxx.x  is  always "A".    When  you
  752. logon to RBBS-PC the  version  will  be  displayed.
  753. RBBS-PC Version CPC17-1A                                    October 2, 1988
  754. Copyright 1988 by D. Thomas Mack                            Page 15 of 232
  755.  
  756. 2.   As bugs are reported and fixes found for the current release of  RBBS-
  757. PC,  the source code corrections are distributed via an RFIXmmdd.ARC  file.
  758. This  contains the necessary files to apply the "temporary  fixes"  against
  759. the  released  version of the source code and re-compile the  source  code.
  760. The recompiled .EXE files are distributed via a file named RFIX-EXE.ARC.
  761. 3.   If a new feature or enhancement is added the last digit in the CPCxx.x
  762. will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
  763.  
  764. 4.   If a significant change to source code or logic occurs,  the first two
  765. digits  of  the  release level will change (i.e.  CPC14.1 was  followed  by
  766. CPC15.1)   The  purpose of these conventions is to allow everyone  to  know
  767. what   RBBS-PC level they are running under (users as well as SYSOPs)   and
  768. understand  the logic behind the changes/fixes as they occur so each  SYSOP
  769. can evaluate them for his own needs.
  770.  
  771. If  you  have  comments or fixes please  let me know so that  they  can  be
  772. reflected  in the RBBS-PC program and shared  with all other  users.    You
  773. can do that by sending your changes by mail to:
  774.  
  775.                               D. Thomas Mack
  776.                              39 Cranbury Drive
  777.                         Trumbull, Conneticut 06611
  778.  
  779. or uploading the changes to either of my RBBS-PC lines -- (203) 268-5315 or
  780. (203) 268-0129.
  781.  
  782. While  comments  and  suggestions  are  always  welcome,   those  that  are
  783. accompanied by the RBBS-PC source code changes that implement them  carry a
  784. lot more weight than those that don't.
  785.  
  786. 1.5  Beta test sites, Where and Why
  787. -----------------------------------
  788. Many  people volunteer to be "beta test" sites.  It is fitting  that  those
  789. who do know why each release of RBBS-PC is "beta tested" and what it  takes
  790. to be "beta test" site.
  791.  
  792. The  "beta test" process seeks to put each new release in as varied  as  an
  793. environment  as  possible in order to resolve bugs in the new  features  as
  794. well  as assure that old bugs are not re-introduced by the addition of  new
  795. features.   Beta testers take professional pride in what RBBS-PC is --  the
  796. bulletin  board  standard  for  the IBM PC  industry.   Every  beta  tester
  797. recognizes  their responsibility to those who have contributed  to  RBBS-PC
  798. and assumes the obligation of not letting them down by putting out a shoddy
  799. product.
  800.  
  801. There are essentially only 13 criteria for becoming  a beta test site:
  802.  
  803.    1.  A commitment to the "Userware" concept and the free exchange of
  804.        information.
  805.    2.  A demonstrated knowledge of RBBS-PC's source code.
  806.    3.  A willingness to work within the confines of the BASIC language.
  807.    4.  A determination to avoid eliminating earlier functionalities within
  808.        RBBS-PC -- only add new ones.
  809.    5.  A system on which unmodified versions of the new beta test version
  810. RBBS-PC Version CPC17-1A                                    October 2, 1988
  811. Copyright 1988 by D. Thomas Mack                            Page 16 of 232
  812.  
  813.        of RBBS-PC will be run.
  814.    6.  Being unwilling to release any part of what is being beta tested
  815.        to anyone else.
  816.    7.  Accepting the risk of having your entire system and hard disk be
  817.        vulnerable to software flaws in the version of RBBS-PC being beta
  818.        tested.
  819.    8.  Being willing to FIX the bugs you encounter -- simply reporting
  820.        them is not enough!
  821.    9.  Living with the bugs that aren't fixed until they are fixed.
  822.   10.  Being willing to call and discuss problems via voice (at your
  823.        expense -- not mine).
  824.   11.  Being willing to call and download (almost daily during the "beta
  825.        test" period) 450K files also at your expense.
  826.   12.  Living with the fact that whatever you are beta testing is not
  827.        going to be what is actually released and that you will probably
  828.        have to download what is actually released just like every one
  829.        else.
  830.   13.  Being charitable about the author's programming skills.
  831.  
  832. Of  all the criteria, it is the first one that is often the most  difficult
  833. requirement for those who would be "beta testers" to accept. The commitment
  834. to  the "Userware" concept requires that contributors to RBBS-PC insist  on
  835. accepting  neither personal recognition, monetary reward, nor  benefit  for
  836. their  contributions  --  except  the  self-satisfaction  in  knowing  that
  837. whatever they contributed made RBBS-PC (and hopefully) the PC world  better
  838. than it might otherwise have been.
  839.  
  840. RBBS-PC does not exist to be a means to some individual's personal gain  or
  841. ego  gratification.   Too many people have contributed  too  selflessly  of
  842. themselves  to RBBS-PC for this to ever be allowed to happen.    For  those
  843. for  whom  this  is too difficult a  requirement,  RBBS-PC's  totally  open
  844. architecture  provides the .MRG/.DOC mechanism (documented in section  1.4)
  845. to  allow individual authors of software modifications to RBBS-PC  to  both
  846. achieve  individual  recognition  and monetary reward  from  those  RBBS-PC
  847. SYSOPs  who  want  to  incorporate such  merges  and  features  into  their
  848. versions of RBBS-PC.  Please note that distribution of .MRG and .DOC  files
  849. is  totally consistent with the limited license that is granted with  RBBS-
  850. PC.   Also  note that distribution of modified versions of  RBBS-PC  is  in
  851. violation of RBBS-PC's limited license agreement.
  852.  
  853. Needless  to say,  those few who participate in each new release of RBBS-PC
  854. typically are not the same people from release to release.  This is because
  855. of  the  intensity  and time that the beta test period makes  on  the  beta
  856. testers.   Another constraint is my abilities to adequately respond to more
  857. than two or three beta testers at most.   Finally,  like owning a  swimming
  858. pool or a boat,  everyone wants to be a beta tester once!   There is little
  859. glory  and  lots of pain.    Jon and I usually divide up the  beta  testing
  860. based  on who lives east and west of the Mississippi river in order to have
  861. as many beta test sites as possible.   Ken has beta test sites all over the
  862. United States.
  863.  
  864. Most  of  the  credit for RBBS-PC CPC17-1A being better  than  the  earlier
  865. versions goes to the following beta testers:
  866. RBBS-PC Version CPC17-1A                                    October 2, 1988
  867. Copyright 1988 by D. Thomas Mack                            Page 17 of 232
  868.  
  869.    Doug Azzarito, Palm Beach Gardens, Florida
  870.    Rod Bowman, Alta Loma, California
  871.    Mike Brown, Madison, Wisconsin
  872.    Paul Cangialosi, Woodbury, N.Y.
  873.    Juan Davila, Rio Piedro, Puerto Rico
  874.    Andrew Hoag, Fargon, North Dakota
  875.    Dave Hacquebord, Tampa, Florida
  876.    Loren Jones, Chicago Illinois
  877.    Steven Kling, Brentwood , Maryland
  878.    John Krytus, Northwook, Ohio
  879.    Ron Kurr, Atlanta, Georgia
  880.    Terry Leckbee, Kansas City, Kansas
  881.    Gene Lowry, Tuscon, Arizona
  882.    Alex Mondale, Washington, D.C.
  883.    Willie Moore, Birmingham, Alabama
  884.    Tadas Osmolskis, Silver Spring, Maryland
  885.    Lee Pollard, Oxon Hill, Maryland
  886.    Lyndon Payne, Plano, Texas
  887.    Malcom Ramsay, Roswell, Georgia
  888.    Steve Rogers, Lincoln, Nebraska
  889.    Jose Sanchez, Gaithersburg, Maryland
  890.    RoseMarie Siddiqui, Fairfax, Virginia
  891.    Phil Simerly, Chantilly, Virginia
  892.    Ray Smith, Carrollton, Texas
  893.    Greg & Bob Snyder, Burke, Virginia
  894.    Stan Staten, Gaithersburg, Maryland
  895.    Terry Taylor, San Leandro, California
  896.    Rick Wadowski, Clinton Twp, Michigan
  897.    Kim Wells, Largo, Maryland
  898.  
  899. 1.6  An Example of "Users Helping Users"
  900. ---------------------------------------
  901. The  ability to have multiple RBBS-PC's running concurrently -- either on a
  902. single PC in a multitasking DOS environment or in a local area network,  is
  903. a concrete example of the concept of "users helping users" in action.  This
  904. ability  was  developed  in support of the efforts of  the  State  of  West
  905. Virginia Department of Education's "West Virginia Microcomputer Educational
  906. Network"  project.   It  is the first statewide microcomputer  network  and
  907. encompasses  all  of  the  state's 1,125 schools  in  55  different  school
  908. districts.      Each   school  is  intended  to  have  the  capability   of
  909. accommodating  up  to  twenty IBM PC's in a local area  network  sharing  a
  910. common  20MB disk drive.   As of June of 1984,  83 of the 1,125 schools had
  911. such  networks.   Each PC can communicate with either the  LAN,  a  central
  912. library,  or  with other schools in order to share programs and  materials.
  913. The key component for this communication is RBBS-PC.   In a presentation at
  914. the U.S.  Department of Education in Washington, D.C. on June 22, 1984, the
  915. role RBBS-PC plays was described as follows:
  916.  
  917.     "The  medium that ties the entire system together --  that  allows
  918.     for communication not only between one school and another but also
  919.     between  schools  and  the central library  --  is  an  electronic
  920.     bulletin board (RBBS-PC)  This bulletin board will be in operation
  921.     24 hours a day at the central site, with a similar bulletin  board
  922.     in operation at every school.
  923. RBBS-PC Version CPC17-1A                                    October 2, 1988
  924. Copyright 1988 by D. Thomas Mack                            Page 18 of 232
  925.  
  926.  
  927.     The  local  school bulletin board (RBBS-PC) could be  accessed  by
  928.     students  who wish to review their lesson or take a test  at  home
  929.     provided they had  a computer and a modem.  Teachers could  access
  930.     their  grade  book  or  other  reports  and  lessons  at  home  in
  931.     preparation for the next school day.
  932.  
  933.     Neither  bulletin  board system (RBBS-PC)  requires  personnel  to
  934.     answer  telephones  or  transmit files.   They  are  both  totally
  935.     unmanned and operate 24 hours a day.  No toll charges, of  course,
  936.     would be assessed for calling the local school bulletin board  and
  937.     toll free 800 numbers are used for accessing the central library."
  938.  
  939. The State of West Virginia arranged to have the vendors involved,  IBM  and
  940. Corvus,  make the appropriate equipment available on a "loan" basis so that
  941. RBBS-PC  could  be developed to work in a local area  network  environment.
  942. Since  this project conformed so closely to the primary objectives of RBBS-
  943. PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
  944. PC  to  allow  up  to nine (9) copies of RBBS-PC  to  execute  concurrently
  945. sharing  many  of the same files.   On a single PC the  maximum  number  of
  946. concurrently running RBBS-PC's within the same DOS is limited only by:
  947.  
  948. a.  the number of communications ports installed on the PC.  IBM's limit is
  949.     two  (COM1  and  COM2), but other vendors supply  "add-on"  cards  that
  950.     provide for up to eight or more communications ports on a single PC.
  951. b.  the  number of communications ports that the BASIC  compilers can  read
  952.     and write to -- currently (COM1 and COM2).  IBM expanded the number  of
  953.     communication  ports available for the PS/2 models running PC-DOS  3.3.
  954.     RBBS-PC, beginning with CPC17-1A, can support additional communications
  955.     ports  using  FOSSIL  drivers (see CONFIG  parameter  221).
  956. c.  the number of concurrently running tasks that can be supported.   IBM's
  957.     DOS is limited to one task.  Other vendors provide "add-on" software to
  958.     IBM's DOS that provides for up to nine simultaneous tasks.
  959.  
  960. Within  a network environment (i.e.  multiple PC's linked together  sharing
  961. the  same  devices)  the maximum number of concurrent RBBS-PC's is  set  by
  962. RBBS-PC's internal design to nine (9).   This design was based on the  fact
  963. that  anyone who wanted to run nine RBBS-PC's sharing the same set of files
  964. would  take  the  $46,000 needed to buy  nine  PC's  with  modems,  network
  965. interface cards, hard disk (at least 20MB) and purchase a minicomputer  for
  966. the same amount of money with more ports and storage.  CPC13-1A was updated
  967. to allow for  36 RBBS-PC'S  to share  the same files.  For those interested
  968. in  further  information  on the State  of  West  Virginia's  Microcomputer
  969. Educational Network, please contact:
  970.  
  971.                Mr. John E. Cook
  972.                State of West Virginia Department of Education
  973.                1900 Washington Street East
  974.                Building 6, Room 221, Capital Complex
  975.                Charleston, West Virginia  25305
  976. RBBS-PC Version CPC17-1A                                    October 2, 1988
  977. Copyright 1988 by D. Thomas Mack                            Page 19 of 232
  978.  
  979. 2. Summary of RBBS-PC's Features
  980. --------------------------------
  981. During  the past five years RBBS-PC has received many accolades.  PC  World
  982. says  "For  electronic mail and bulletin board  applications,  the  RBBS-PC
  983. software is the best choice."  EDP Analyzer says "RBBS-PC is the easiest to
  984. use."   RBBS-PC  was  the  origin  of  PC  Magazine's  "Interactive  Reader
  985. Service."  PC Magazine writes that RBBS-PC "is one of the most popular  BBS
  986. programs  for  the IBM PC" and has called RBBS-PC "an  industry  standard."
  987. INFOWORLD,  in  a comparison of the most popular  PC-based  bulletin  board
  988. systems rated RBBS-PC the highest.  Almost as if in confirmation, the  U.S.
  989. Department of Commerce's National Bureau of Standards report on  Electronic
  990. Bulletin Boards (publication NBSIR 86-3356) is devoted entirely to RBBS-PC.
  991.  
  992. RBBS-PC  CPC17-1A is a significant enhancement to RBBS-PC and will  be  the
  993. 32nd  release of RBBS-PC CPCxx since I first published it in July of  1983.
  994. RBBS-PC's  policy  of freely distributing the source code  and  continually
  995. expanding  it's  range  of capabilities throughout these  last  five  years
  996. represents not only the very best that is embodied in the concept of "users
  997. helping  users" but an expectation of excellence that NO product in the  PC
  998. industry  has ever even approached.  Here is a brief summary of  the  major
  999. features of RBBS-PC.
  1000.  
  1001. RBBS-PC  is  the Remote Bulletin Board System for the IBM  (or  compatible)
  1002. personal computer.   One of it's two primary purpose is to foster the  free
  1003. exchange  of information by allowing  a microcomputer to be turned  into  a
  1004. "host"  computer  that  people  can "dial" into and use.    It  is  a  full
  1005. featured Bulletin Board System that supports:
  1006.  
  1007. o  bulletins
  1008. o  electronic mail (public and private)
  1009. o  file exchange (uploading and downloading)
  1010. o  on-line questionnaires based on "scripts" written by the SYSOP
  1011. o  access to other applications from RBBS-PC (i.e. "dooring"), and
  1012. o  letting  authorized  callers  drop into  the  operating  system  to  run
  1013.    programs remotely from the caller's computer.
  1014.  
  1015. RBBS-PC  is  unique among host communications programs in that it  is  made
  1016. available under a limited license which requires that no charge for RBBS-PC
  1017. be  levied -- only a minimal copying fee is permitted.  RBBS-PC  is  unique
  1018. also  in that ALL the source code for each release is also made  available.
  1019. Those  who wish to make contributions for RBBS-PC are asked  to  contribute
  1020. enhancements  to  RBBS-PC itself or contributions to the  Capital  PC  User
  1021. Group.   The author and contributors neither ask for nor accept  money  for
  1022. RBBS-PC.  Upgrades, which average about two a year, are free.  There is  no
  1023. extra charge for a multi-user version.  In fact there is only one  RBBS-PC!
  1024. It can act as either a multi-user version or as a single-user system.
  1025.  
  1026. The  purpose of this section is to provide a check list of RBBS-PC's  major
  1027. features.  After all, being free and including source code means that RBBS-
  1028. PC is the "industry standard" against which systems with similar  functions
  1029. can be judged by end-users.
  1030.  
  1031. RBBS-PC  has been around since 1983, and many people may not  realize  just
  1032. how  extensively  it  has evolved and been enhanced over  these  last  five
  1033. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1034. Copyright 1988 by D. Thomas Mack                            Page 20 of 232
  1035.  
  1036. years.   One  advantage of distributing source code is that those  who  run
  1037. RBBS-PC  systems are able to contribute improvements to it.    Many  people
  1038. have  contributed  to RBBS-PC over the years -- over 80 are listed  in  the
  1039. RBBS-PC  documentation  itself.   The  check list  of  major  features  and
  1040. enhancements that follows are just part of this on-going tradition.
  1041.  
  1042. 2.1 General:
  1043. ------------
  1044. Number of different "conferences" or messages areas           -- unlimited
  1045. Number of messages that can be left                           -- unlimited
  1046. Number of files that can be uploaded or downloaded            -- unlimited
  1047. Number of bulletins that can be posted by the SYSOP           -- unlimited
  1048. Number of different file transfer protocols supported         -- unlimited
  1049. Number of external applications that can be "DOORed" to       -- unlimited
  1050. Number of on-line questionnaires                              -- unlimited
  1051. Number of questions in on-line questionnaires                 -- unlimited
  1052. Number of levels of security                                  -- 66,536
  1053. Number of registered callers                                  -- 32,767
  1054. Maximum number of characters in a single file                 -- 32,767
  1055. Maximum baud rate supported                                   -- 19,200
  1056. Maximum number of characters in a single message              -- 6,128
  1057. Maximum number of lines in a single message                   -- 99
  1058. Maximum number of simultaneous callers or users               -- 36
  1059. Maximum number of communications ports supported on a one PC  -- 8
  1060. Donation to CPCUG for a copy of RBBS-PC (4 diskettes)         -- $16
  1061. Is the multi-user version included in the price               -- yes
  1062. Is technical support included in the price                    -- yes
  1063. Is ALL source code distributed with each release              -- yes
  1064. Are fixes and patches promptly made available                 -- yes
  1065. Is extensive technical documentation (220+ pages) including
  1066.              file descriptions and record layouts distributed
  1067.              with each release                                -- yes
  1068. Is there an OPTIONAL -- but professionally written and
  1069.              published (Bantam Books ISBN 0-553-34552-4),
  1070.              startup guide (430+ pages) for first time
  1071.              bulletin board system operator (SYSOP)           -- yes
  1072.  
  1073. 2.2 Messaging:
  1074. --------------
  1075. Within a conference or message area:
  1076.    The user's last message read is remembered                 -- yes
  1077.    A user's security level can be unique to each conference   -- yes
  1078.    User's "preferences" (expert/novice) can be unique         -- yes
  1079.    A user can have privileges different from other areas      -- yes
  1080.  
  1081. Conferences can be:
  1082.    Public (anyone can join)                                   -- yes
  1083.    Private (only pre-registered users can join)               -- yes
  1084.    Semi-private (users with sufficient security can join)     -- yes
  1085. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1086. Copyright 1988 by D. Thomas Mack                            Page 21 of 232
  1087.  
  1088. Each conference or message area can have unique or different
  1089.    Bulletins                                                  -- yes
  1090.    On-line help files                                         -- yes
  1091.    Files available for downloading                            -- yes
  1092.    mixtures of commands                                       -- yes
  1093.    menus                                                      -- yes
  1094.    "Doors" (i.e. external applications that are exited to)    -- yes
  1095.  
  1096. When callers log on they can (at the SYSOP's option) be
  1097.    Automatically notified of all mail waiting for them        -- yes
  1098.    Automatically notified of only NEW mail waiting for them   -- yes
  1099.    Automatically notified which conference has mail for them  -- yes
  1100.    ONLY notified of mail in conferences the caller belongs to -- yes
  1101.    Automatically notified of the messages that they have left -- yes
  1102.    Automatically notified of the files they uploaded          -- yes
  1103.    Automatically notified of the files that they downloaded   -- yes
  1104.    Automatically notified of their profile of preferences     -- yes
  1105.    Automatically notified of any new "bulletins"              -- yes
  1106.    Automatically notified of any new files                    -- yes
  1107.    Immediately download files                                 -- yes
  1108.    Immediately list the new bulletins                         -- yes
  1109.    Immediately go directly to a specific area (turbo logon)   -- yes
  1110.  
  1111. Specific messages can be:
  1112.    Public (readable by all)                                   -- yes
  1113.    Private (to a specific individual)                         -- yes
  1114.    To a "group" (readable by a specific collection of users)  -- yes
  1115.    Password protected (readable by supplying the password)    -- yes
  1116.    Public but available to others after the SYSOP reads it    -- yes
  1117.    Private but available to addressee after the SYSOP reads it-- yes
  1118.    Read by only those with a high enough security level       -- yes
  1119.    "Quick" scanned by subject only                            -- yes
  1120.    "Quick" scanned with 69 messages displayed at a time       -- yes
  1121.    "Scanned" by sender, addressee, date, subject, and date/
  1122.              time it was received by the addressee            -- yes
  1123.    "Scanned" with 23 messages displayed at a time             -- yes
  1124.    Read while "quick" scanning                                -- yes
  1125.    Killed (i.e. deleted) one at a time                        -- yes
  1126.    Killed in multiples                                        -- yes
  1127.  
  1128. When a message is read the software provides
  1129.    Name of caller who entered the message                     -- yes
  1130.    Date and time the message was entered                      -- yes
  1131.    Name of caller to whom the message is addressed            -- yes
  1132.    Date and time the message was received                     -- yes
  1133.    Subject of the message                                     -- yes
  1134.    Minimum security level needed to read the message          -- yes
  1135.  
  1136. Messages can be searched via "threads" (for specific strings)
  1137.    By message subject only (i.e. "static" threading)          -- yes
  1138.    By sender, receiver, subject, or (i.e. "dynamic" threading)-- yes
  1139.    By text within a messages (i.e. "turbo" threading)         -- yes
  1140.    And read while threading without disturbing the search     -- yes
  1141. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1142. Copyright 1988 by D. Thomas Mack                            Page 22 of 232
  1143.  
  1144. Messages can be read
  1145.    Forwards                                                   -- yes
  1146.    Backwards                                                  -- yes
  1147.    Singularly, by specific message number                     -- yes
  1148.    Multiply, by specifying a series of message numbers        -- yes
  1149.    While "static" threading (i.e. matching on subject)        -- yes
  1150.    While "dynamic" threading (i.e. match on all header info)  -- yes
  1151.    While "turbo" threading (i.e. match on header or msg text) -- yes
  1152.    That are only addressed TO the caller                      -- yes
  1153.    That are only FROM the caller                              -- yes
  1154.    Or re-read immediately after the last screen of a message
  1155.              has been read (useful for long messages)         -- yes
  1156.  
  1157. When entering or replying to a message
  1158.    The message subject can be edited                          -- yes
  1159.    The sender is notified if the addressee has not logged on  -- yes
  1160.    The caller can see if the mail has been received           -- yes
  1161.    After replying only the message header is displayed        -- yes
  1162.    After replying the caller can re-read the message          -- yes
  1163.    After replying the caller can kill the message replied to  -- yes
  1164.  
  1165. The built-in message editor has
  1166.    Automatic "word-wrap"                                      -- yes
  1167.    Allows any character as a separator for replacing strings  -- yes
  1168.    Text files to be uploaded remotely as a message            -- yes
  1169.    Text files to be imported by the local SYSOP               -- yes
  1170.    Lines to be deleted                                        -- yes
  1171.    Character strings to be searched and replaced              -- yes
  1172.    Margin widths that can be set by the caller                -- yes
  1173.  
  1174. 2.3 File System Management and Exchange:
  1175. ----------------------------------------
  1176. The software automatically maintains a list of files
  1177.    available to callers containing:                           -- yes
  1178.              Name of the file                                 -- yes
  1179.              Size of the file                                 -- yes
  1180.              Date the file was created                        -- yes
  1181.              One-line description of the file                 -- yes
  1182.              Extended (multi-line) file description           -- yes
  1183.  
  1184. Unlimited number of categories in which to classify files     -- yes
  1185.  
  1186. Categories can have multiple line descriptions                -- yes
  1187.  
  1188. A file can be associated with multiple categories providing
  1189.              the capability of having a complex, tree
  1190.              classification system for files                  -- yes
  1191.  
  1192. Callers can search the list of files available                -- yes
  1193.              By category                                      -- yes
  1194.              By date (most recent first)                      -- yes
  1195.              By match on a string in one-line description     -- yes
  1196.              By match on a string in extended description     -- yes
  1197.              By "wildcards"                                   -- yes
  1198. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1199. Copyright 1988 by D. Thomas Mack                            Page 23 of 232
  1200.  
  1201. Callers who upload files can be asked to:
  1202.              Categorize the uploaded file                     -- yes
  1203.              Provide a one-line description of the file       -- yes
  1204.              Provide an extended description of the file      -- yes
  1205.  
  1206. Authorized callers can add file descriptions without uploading-- yes
  1207.  
  1208. On an unsuccessful upload, the partial file is deleted        -- yes
  1209.  
  1210. Files may be made available for "personal downloads" (i.e.
  1211.              limited to a specific user or security level)    -- yes
  1212.  
  1213. Files that are .ARCed contents may be viewed by the caller
  1214.              before downloading                               -- yes
  1215.  
  1216. Files may be separated into different DOS subdirectories
  1217.              for callers to download from                     -- yes
  1218.  
  1219. The software can search 7,000 file descriptions in 60 seconds -- yes
  1220.  
  1221. Files can be downloaded when searching the list of of files   -- yes
  1222.  
  1223. File can be downloaded when listing the file descriptions     -- yes
  1224.  
  1225. File listings can be resumed after a download                 -- yes
  1226.  
  1227. Multiple file downloads/uploads can be requested              -- yes
  1228.  
  1229. The software supports a "LIBRARY" file subsystem in which:
  1230.    files of the same name are in different DOS subdirectories -- yes
  1231.    files within a single DOS subdirectory can be .ARCed
  1232.              together into a single file and downloaded       -- yes
  1233.    PC-SIG's CD-ROM can be made available for downloading      -- yes
  1234.  
  1235. The software allows file transfers with both
  1236.    "Internal" protocols (handled by RBBS-PC source code):
  1237.              ASCII                                            -- yes
  1238.              Xmodem (checksum)                                -- yes
  1239.              Xmodem (cylical redundancy check)                -- yes
  1240.              Ymodem                                           -- yes
  1241.    and "External" protocols (i.e. handled by separate .EXE files):
  1242.              Xmodem (checksum)                                -- yes
  1243.              Xmodem (cylical redundancy check)                -- yes
  1244.              Ymodem                                           -- yes
  1245.              YmodemG (used when MNP exists in the modem)      -- yes
  1246.              Imodem (used when MNP exists in the modem)       -- yes
  1247.              Windowed Xmodem                                  -- yes
  1248.              Kermit (as defined by Columbia University)       -- yes
  1249.              Windowed Kermit (as defined by The Source)       -- yes
  1250.              Zmodem                                           -- yes
  1251.              Zmodem (batch)                                   -- yes
  1252.              Sealink (by System Enhancements Associates)      -- yes
  1253.              Megalink                                         -- yes
  1254. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1255. Copyright 1988 by D. Thomas Mack                            Page 24 of 232
  1256.  
  1257. Unlimited number of external protocols can be added           -- yes
  1258.  
  1259. Uploads can be made unavailable to callers for downloading    -- yes
  1260.  
  1261. The SYSOP can specify:
  1262.    A caller's minimum security level required to:
  1263.              download files                                   -- yes
  1264.              upload files                                     -- yes
  1265.              overwrite existing files                         -- yes
  1266.              categorize files                                 -- yes
  1267.              view uploaded files                              -- yes
  1268.    An upload time credit be applied to a caller's session
  1269.              time for time spent uploading                    -- yes
  1270.    To apply the upload time credit to the maximum time per day-- yes
  1271.    To automatically track the ratio of uploads/downloads
  1272.              for all callers                                  -- yes
  1273.              for no callers                                   -- yes
  1274.              for each of the 65,000 security levels           -- yes
  1275.    To base the ratio of uploads to downloads on the
  1276.              number of files transferred                      -- yes
  1277.              or characters transferred                        -- yes
  1278.    To allow callers access to file downloading based on the
  1279.              caller's ratio of uploads to downloads           -- yes
  1280.    To allow callers to download files only after they
  1281.              have been logged on a certain number of
  1282.              minutes in each session                          -- yes
  1283.  
  1284. 2.4 The User Interface:
  1285. -----------------------
  1286. The interface shown to the caller allows the SYSOP to:
  1287.    Substitute any letter for any command                      -- yes
  1288.    Disable commands                                           -- yes
  1289.    Restrict specific commands to some security levels         -- yes
  1290.    Only show callers the commands available to them           -- yes
  1291.    Group commands into any sections                           -- yes
  1292.    Specify how callers can move between sections              -- yes
  1293.    Group all commands into a single section                   -- yes
  1294.    Create whatever prompt required to request user commands   -- yes
  1295.    Create any on-line help files                              -- yes
  1296.    Create and design all menus                                -- yes
  1297.    Make commands words (i.e. ENTER to enter a message)        -- yes
  1298.    Make commands single letters (i.e. "E" to enter a message) -- yes
  1299.    Make commands a number (i.e. "1" to enter a message)       -- yes
  1300.    Make commands "macros" (i.e. a series of valid commands)   -- yes
  1301.    Make any item on a menu a "sub-menu" (i.e. selecting the
  1302.              item displays another menu)                      -- yes
  1303.    Have an unlimited number of submenus                       -- yes
  1304.    Highlight strings found in searches with colors            -- yes
  1305.    Support colored prompts                                    -- yes
  1306.    Allow the prompts to be different colors                   -- yes
  1307.    Allow menus to be ASCII, graphic, or colored/animated      -- yes
  1308.    Provide personalized text files (help, etc.)               -- yes
  1309. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1310. Copyright 1988 by D. Thomas Mack                            Page 25 of 232
  1311.  
  1312. User "friendly" features are that the software
  1313.    Allows callers with unusual names (hyphenated)             -- yes
  1314.    Allows callers with similar names (J. Joe and J. M. Joe)   -- yes
  1315.    Allows the SYSOP to accept callers with the same names
  1316.              (i.e. two John Jones) and still distinguish
  1317.              between them by and field in the user record
  1318.              (e.g. city/state)                                -- yes
  1319.    Allows the prompt for the caller's first and last name
  1320.              to be configurable by the SYSOP                  -- yes
  1321.    Addresses the caller by the first name                     -- yes
  1322.    Thanks the caller for uploads                              -- yes
  1323.    Thanks the caller for messages                             -- yes
  1324.    Thanks the caller for calling                              -- yes
  1325.    Shows all defaults with [] (i.e. brackets)                 -- yes
  1326.    Allows callers to "see and do" (i.e. not have to back out
  1327.              of current section or command to do something)   -- yes
  1328.    Allows users to choose "novice" or "expert" modes          -- yes
  1329.    Provides short reminders of the commands in prompts        -- yes
  1330.    Provides on-line help for any command                      -- yes
  1331.    Provide different help levels for "novice" and "experts"   -- yes
  1332.    Allows "command stacking"                                  -- yes
  1333.    Accepts unlimited type ahead from remote users             -- yes
  1334.    Provides a fast logon (directly locates the user's record) -- yes
  1335.    Automatically pages the SYSOP when a specific user logs on -- yes
  1336.    Prevents text from scrolling off the top of a user's screen-- yes
  1337.    Wipes off prompt for next screen when caller continues     -- yes
  1338.    Takes the phone off the hook (so callers get a busy signal)
  1339.              when the SYSOP is on locally doing maintenance   -- yes
  1340.    Informs the caller who "pages" the SYSOP of the times that
  1341.              the SYSOP is normally available                  -- yes
  1342.    Automatically logs off a caller who is inactive based on
  1343.              a time period set by the SYSOP                   -- yes
  1344.    Allows callers to see log of others who called that shows:
  1345.              Name, date, and time other callers logged on     -- yes
  1346.              City and state other callers were from           -- yes
  1347.  
  1348. The software remembers the "preferences" set by the caller for:
  1349.    Preferred file transfer protocol                           -- yes
  1350.    Type of displays to be shown (ASCII, graphic, colors)      -- yes
  1351.    Lines per page (or screen) at the user's terminal          -- yes
  1352.    Margin width when entering messages                        -- yes
  1353.    Upper case only or upper & lower case                      -- yes
  1354.    A prompt bell with each command prompt                     -- yes
  1355.    Padding end of lines with nulls (for hardcopy terminals)   -- yes
  1356.    Sending a line feed after every line                       -- yes
  1357.    End-to-end echoing of characters (normally turned off by
  1358.              a caller using networks that have relay delays
  1359.              like PC-Pursuit)                                 -- yes
  1360.    "TurboKey" - acting on first letter entered at prompt      -- yes
  1361.    Reviewing files immediately upon logging on                -- yes
  1362. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1363. Copyright 1988 by D. Thomas Mack                            Page 26 of 232
  1364.  
  1365. 2.5 SYSOP Protection:
  1366. ---------------------
  1367. Because  a  SYSOP  is absolutely and personally  responsible  for  what  is
  1368. communicated, the software protects the SYSOP by:
  1369.    Recording all caller activity by caller, date, and time    -- yes
  1370.    Recording all communication among callers                  -- yes
  1371.    Allowing the SYSOP to preview messages between callers     -- yes
  1372.    Allowing the SYSOP to preview files that are uploaded
  1373.              before they are available to other callers       -- yes
  1374.    Automatically locking out callers who attempt to break
  1375.              the system                                       -- yes
  1376.    Automatically denying access to callers who use names
  1377.              that the SYSOP deems unacceptable                -- yes
  1378.    Allowing the SYSOP to "chat" directly on-line with
  1379.              a caller                                         -- yes
  1380.    Preventing callers from chatting directly on-line
  1381.              with each other outside of the SYSOP's control   -- yes
  1382.    Assigning each caller a specific security levels           -- yes
  1383.    Designating the minimum security level to use each command -- yes
  1384.    Allowing the SYSOP to assign security levels to commands   -- yes
  1385.    Allowing the SYSOP to assign security levels to callers    -- yes
  1386.    Allowing the SYSOP to change any caller's security level   -- yes
  1387.    Allowing the SYSOP to assign a security levels to files
  1388.               or groups of files that a caller must have in
  1389.               order to access them                            -- yes
  1390.    Allowing the SYSOP to require callers to know specific
  1391.               passwords to access files or groups of files    -- yes
  1392.    Allowing the SYSOP to require callers to have BOTH a
  1393.               specific security level AND know a specific
  1394.               password in order to access a file or a
  1395.               group of files                                  -- yes
  1396.    Allowing files to be protected (by requiring a password
  1397.               and/or a minimum security level to access) based
  1398.               on any combination of
  1399.               subdirectory,                                   -- yes
  1400.               disk drive,                                     -- yes
  1401.               fully qualified names,                          -- yes
  1402.               file extensions,                                -- yes
  1403.               "wildcards"                                     -- yes
  1404.    Allowing "personal" files (i.e. files that only a specific
  1405.               caller can access                               -- yes
  1406.    Allowing each command to have a specific security level
  1407.              that designates the minimum security level
  1408.              needed to use the command                        -- yes
  1409.    Automatically paging the SYSOP when a specific caller
  1410.              logs on (without the caller knowing it)          -- yes
  1411.    Instantaneously allowing the SYSOP to lock out and
  1412.              immediately disconnect an on-line caller         -- yes
  1413.    Enabling the SYSOP to display the on-line caller's
  1414.              profile (i.e. all the information about the
  1415.              caller) anytime a caller is on-line without
  1416.              the caller being aware of it                     -- yes
  1417. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1418. Copyright 1988 by D. Thomas Mack                            Page 27 of 232
  1419.  
  1420. 2.6 SYSOP Functions, Features, and Support:
  1421. -------------------------------------------
  1422. The software can be set to automatically drop to DOS at a
  1423.    specific time of day (i.e. to do system maintenance, etc.) -- yes
  1424.  
  1425. The software can support and interface with store-and-forward
  1426.    electronic mail systems (i.e. FIDO, BINKLEY TERM, SEADOG)  -- yes
  1427.  
  1428. From the local keyboard's function keys, the software allows
  1429. the SYSOP to:
  1430.    Exit to DOS                                                -- yes
  1431.    Toggle on or off if callers can "page" the SYSOP           -- yes
  1432.    Toggle the local print on and off                          -- yes
  1433.    Log on locally to the system without calling in            -- yes
  1434.    Cause the system to immediately answer the phone           -- yes
  1435.    Enter input from the local keyboard on the caller's behalf -- yes
  1436.    Grant a caller temporary SYSOP privileges                  -- yes
  1437.    Temporarily increase or decrease a caller's security level
  1438.              in increments of one or five                     -- yes
  1439.    Permanently change a caller's security level               -- yes
  1440.    Temporarily change the elapsed time of the current
  1441.              caller's session by one or five minutes          -- yes
  1442.    Display on the local screen what the caller sees           -- yes
  1443.    Invite the caller to "chat" with the SYSOP                 -- yes
  1444.    Immediately lock out and log off the caller                -- yes
  1445.    Automatically log the SYSOP on next after current caller   -- yes
  1446.  
  1447. The commands a SYSOP can execute locally or remotely are:
  1448.    Exit to DOS                                                -- yes
  1449.    Toggle on or off if callers can "page" the SYSOP           -- yes
  1450.    List the comments that have been left to the SYSOP         -- yes
  1451.    List the log of the caller's activities that shows
  1452.              Name, date, and time a caller logged on          -- yes
  1453.              City and state the caller was from               -- yes
  1454.              Date and time a caller logged off                -- yes
  1455.              If the caller was logged off due to inactivity   -- yes
  1456.              If the caller was logged off due to carrier lost -- yes
  1457.              Baud rate and communications parity caller used  -- yes
  1458.              Files downloaded and uploaded                    -- yes
  1459.              Success or failure of file transfers             -- yes
  1460.              Protocol used for file transfers                 -- yes
  1461.              Number of characters transferred                 -- yes
  1462.              Which bulletins a caller read                    -- yes
  1463.              Which conferences a caller entered               -- yes
  1464.              Which messages a caller read                     -- yes
  1465.              Which messages a caller left                     -- yes
  1466.              Which messages a caller killed (i.e. deleted)    -- yes
  1467.              If the caller left a comment                     -- yes
  1468.              If the phone was answered but nobody logged on   -- yes
  1469.              Caller was a newuser                             -- yes
  1470.              A newuser changed their name/address             -- yes
  1471.              If caller changed password (and to what)         -- yes
  1472.              Questionnaire answered by the caller             -- yes
  1473. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1474. Copyright 1988 by D. Thomas Mack                            Page 28 of 232
  1475.  
  1476.    Restore a message that was killed (i.e. deleted)           -- yes
  1477.    Erase the comments file                                    -- yes
  1478.    Maintain the file of users by:
  1479.              Adding a user                                    -- yes
  1480.              Listing the file of users                        -- yes
  1481.              Printing the file of users on a local printer    -- yes
  1482.              Deleting a specific user's record                -- yes
  1483.              Scanning every user record for a specific string -- yes
  1484.              Scanning every user record for a specific user   -- yes
  1485.              Modifying a specific user's password             -- yes
  1486.              Modifying a specific user's graphics preference  -- yes
  1487.              Setting a specific user's security level         -- yes
  1488.              Changing the beginning of a user's subscription  -- yes
  1489.  
  1490. A SYSOP can identify callers by:
  1491.    Any field in the user's record (i.e. account code)         -- yes
  1492.    Supplying a configurable prompt for the field used to
  1493.              uniquely identify callers (i.e. employee number) -- yes
  1494.    Allow interior blanks in caller's names                    -- yes
  1495.  
  1496. A SYSOP can have on-line questionnaires that
  1497.    All users are required to answer                           -- yes
  1498.    Only new users are required to answer                      -- yes
  1499.    Are unlimited in number                                    -- yes
  1500.    Contain an unlimited number of questions within each       -- yes
  1501.    Record all answers to a different file                     -- yes
  1502.    Automatically raise or lower a caller's security level
  1503.              based on the caller's answers                    -- yes
  1504.  
  1505. The software supports file sharing (i.e. updating) in the
  1506. networks such as:
  1507.    MultiLink (Version 4.0 and earlier) from the Software Link -- yes
  1508.    OMNINET from Corvus                                        -- yes
  1509.    PC-NET from Orchid                                         -- yes
  1510.    DESQview from Quarterdeck                                  -- yes
  1511.    10NET from Fox Research                                    -- yes
  1512.    any environment compatible with NETBIOS from IBM           -- yes
  1513.  
  1514. In a DoubleDOS environment, the software minimizes its
  1515.    resource demand while waiting for work in order to free
  1516.    as much power for other applications that are running      -- yes
  1517.  
  1518. 2.7 System Access Management:
  1519. -----------------------------
  1520. The SYSOP can specify:
  1521.    A maximum time per session for callers                     -- yes
  1522.    A maximum time per day for callers                         -- yes
  1523.    A different session time be allowed for each of the
  1524.              65,000 different security levels                 -- yes
  1525.    A different maximum time allowed callers on the system
  1526.              each day based on the caller's security level    -- yes
  1527.    A minimum baud rate for new callers to logon with          -- yes
  1528.    A different minimum baud rate for existing callers to logon-- yes
  1529.    A different maximum time per session based on time of day
  1530. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1531. Copyright 1988 by D. Thomas Mack                            Page 29 of 232
  1532.  
  1533.              (hour and minute) the user logged                -- yes
  1534.    A maximum time per day that is different from the maximum
  1535.              time per session                                 -- yes
  1536.    To allow callers access to other applications (i.e.
  1537.              doors) only after they have been logged on a
  1538.              certain number of minutes in each session        -- yes
  1539.    To allow all callers access to the entire system (open)    -- yes
  1540.    To allow only pre-registered calls access to the entire
  1541.              system (closed)                                  -- yes
  1542.    To allow automatic and instant access to the system for
  1543.              for new users without pre-registering them
  1544.              based on information pre-loaded into the system
  1545.              (i.e. account codes, employee numbers, etc.) and
  1546.              issued to callers before they access the system  -- yes
  1547.  
  1548. The software provides an optional subscription management system that:
  1549.    Is built-in                                                -- yes
  1550.    Is automatic (i.e. requires minimum SYSOP effort)          -- yes
  1551.    Is optional                                                -- yes
  1552.    Bases the subscriptions on the date of the caller's
  1553.              first access to the system                       -- yes
  1554.    Subscribers are given temporary, date-limited, "trial
  1555.              periods" that allow them to access more features -- yes
  1556.    The number of days prior to a caller being warned that the
  1557.              subscription expires can be SYSOP-specified by   -- yes
  1558.    Automatically warns subscribers before their sub-
  1559.              scriptions expire                                -- yes
  1560.    Automatically reduces the subscribers system security
  1561.              level upon subscription expiration               -- yes
  1562.  
  1563. 2.8 Communications:
  1564. -------------------
  1565. The software will automatically
  1566.    answer the phone and adjust to a caller's
  1567.              communications settings                          -- yes
  1568.    allow the modem to adjust to the caller's communications
  1569.              settings while maintaining a higher data
  1570.              transfer rate (19200 baud) between itself and
  1571.              the modem to which it is attached                -- yes
  1572.    recognize a caller who calls at:
  1573.                300 baud                                       -- yes
  1574.               1200 baud                                       -- yes
  1575.               2400 baud                                       -- yes
  1576.               4800 baud                                       -- yes
  1577.               9600 baud                                       -- yes
  1578.              19200 baud                                       -- yes
  1579.    recognize the MNP (automatic error correction) protocols
  1580.              built into the modem it is attached to           -- yes
  1581.    recognize Hayes' pseudo LAP-B (automatic error correction)
  1582.              protocol if the modem it is attached Hayes is a
  1583.              Hayes modem with such protocol                   -- yes
  1584.    recycle if no calls are received in a specified period     -- yes
  1585.    switch to N/8/1 for binary file transfers without
  1586.              disconnecting the user                           -- yes
  1587. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1588. Copyright 1988 by D. Thomas Mack                            Page 30 of 232
  1589.  
  1590. The software will allow a 300 baud caller to shift to
  1591.    450 baud while on-line without disconnecting               -- yes
  1592.  
  1593. The software supports modems that do not handle modem
  1594.     commands but which can automatically answer the phone     -- yes
  1595.  
  1596. The software handles "flow control" via:
  1597.     Clear-to-send (CTS)                                       -- yes
  1598.     XON/XOFF                                                  -- yes
  1599.  
  1600. The software supports attachment directly to
  1601.    a private branch exchange (PBX)                            -- yes
  1602.    a public data network via an X.25 PAD                      -- yes
  1603.  
  1604. The software has optional, configurable modem commands to:
  1605.    initialize the modem's firmware                            -- yes
  1606.    initialize the modem each time the software recycles       -- yes
  1607.    set up the modem to answer the phone on each recycle       -- yes
  1608.    set the number of rings to answer the phone                -- yes
  1609.    answer the phone                                           -- yes
  1610.    take the phone off the hook                                -- yes
  1611.  
  1612. The software can be configured to wait a specified number of
  1613.    seconds:
  1614.              after initializing the modem on recycling        -- yes
  1615.              wait after issuing a modem command               -- yes
  1616.              before logging off an idle caller                -- yes
  1617.              after answering the phone for a carrier          -- yes
  1618.  
  1619. The SYSOP can set the number of rings the software answers on -- yes
  1620.  
  1621. The software can be set to wait to issue modem commands
  1622.    when the phone is not ringing                              -- yes
  1623.  
  1624. The software can utilize external communications drivers
  1625.    (for communications ports not supported by BASIC)          -- yes
  1626.  
  1627. 2.9 "Base-Line" Hardware and Software Requirements:
  1628. ---------------------------------------------------
  1629. RBBS-PC  is  designed to run on an IBM Personal  Computer   running   IBM's
  1630. Disk  Operating  System  (DOS),  communicating  via  an  IBM   Asynchronous
  1631. Communications  Adapter and a Hayes Smartmodem modem.  For RBBS-PC   CPC17-
  1632. 1A,   the  following  equipment  and  software  is  the  MINIMUM  and   the
  1633. recommended:
  1634.                        Minimum                     Recommended
  1635. System:           IBM PC (Intel 8088 CPU)  Any PC with an Intel 8088 CPU
  1636.                                            that can run IBM's PC-DOS
  1637. Monitor:          80 column monochrome     80 column color monitor
  1638.  
  1639. Asynchronous
  1640. Communications
  1641. Adapter:          RS-232 adapter with an   IBM Asynchronous communications
  1642.                   Intel 8250 CPU           adapter (serial port),
  1643. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1644. Copyright 1988 by D. Thomas Mack                            Page 31 of 232
  1645.  
  1646. Modem:            Any Hayes 1200 Smart-    U.S. Robotics 9600 baud
  1647.                   modem (or 100% Hayes     Courier HST
  1648.                   compatible!)
  1649.  
  1650. Telephone Line:   Voice grade telephone    Voice grade telephone
  1651.                   connection  for  modem   connection for modem
  1652.  
  1653. Modem Cable:      25 pin RS-232 modem      25 pin RS-232 modem
  1654.                   cable (for external      cable (for external
  1655.                   modem)                   modem)
  1656.  
  1657. RAM:              320K RAM available for   640K RAM available for
  1658.                   DOS and RBBS-PC          DOS and RBBS-PC
  1659.  
  1660. Disk:             one double-sided drive   one high-density drive
  1661.                   (360K)                   (1.2 or 1.44 MB) and one
  1662.                                            hard disk with at least 20MB
  1663.  
  1664. Operating System: PC-DOS 2.0               PC-DOS 3.1 (or greater)
  1665.  
  1666. The  .EXE  files are distributed with RBBS-PC as well as the  BASIC  source
  1667. code  so  it  is not necessary to have a BASIC  Compiler  to  run  RBBS-PC.
  1668. However,  for those who would like to compile RBBS-PC from the source  code
  1669. the recommended compiler is Microsoft's QuickBASIC 3.0.
  1670.  
  1671. The  MINIMUM configuration that RBBS-PC can be run in is on an IBM PC  that
  1672. has 320K of random access memory (RAM), one double-sided disk drive, an RS-
  1673. 232  communications  port  with  a Hayes modem and IBM's  PC  DOS  2.0  (or
  1674. higher).   To  run  in 320K it is necessary to  recompile  RBBS-PC  --  see
  1675. Appendix  Y.   As  with  ANY bulletin board system,  the  less  disk  space
  1676. available the more file maintenance the SYSOP must do.  Also if you  choose
  1677. to allow external file protocol transfers, an additional 192K of memory  is
  1678. required if you SHELL to them rather than EXIT.
  1679.  
  1680. Beginning  with RBBS-PC version CPC13-1A,  RBBS-PC requires version 2.0  or
  1681. above of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the
  1682. BASIC  interpreter.   RBBS-PC  runs under MS-DOS to  the  extent  that  the
  1683. executable code generated by the IBM/Microsoft BASIC compiler is compatible
  1684. with  the  multitude of different MS-DOS'.  Do not expect  RBBS-PC  to  run
  1685. under every variant of DOS on every IBM compatible.
  1686.  
  1687. If  you  have  a  second telephone installed specifically for RBBS-PC,  ask
  1688. for  a second voice  grade telephone line.   Data lines are very  expensive
  1689. and  are  not  necessary.   The   program  requires  the  use  of  a  Hayes
  1690. Smartmodem  (or  one that is 100% Hayes compatible) in order  to   function
  1691. properly.   If your non-Hayes modem doesn't work with RBBS-PC, send RBBS-PC
  1692. (source  code and all) to the vendor and ask him to explain why it  doesn't
  1693. work (i.e. why it is "incompatible" with the Hayes Smartmodem).
  1694.  
  1695. Callers who come in at even parity and 7 data bits,  then try to change  to
  1696. no   parity  and  8 data bits to use XMODEM,  may have a problem  if   they
  1697. are  using PC-TALK and a Hayes Smartmodem.   Switch 1 on the caller's modem
  1698. has  to  be down (the factory  default  position)  or the carrier  will  be
  1699. dropped when  the  communication  parameters  are  switched.  To avoid this
  1700. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1701. Copyright 1988 by D. Thomas Mack                            Page 32 of 232
  1702.  
  1703. the  PC-TALK caller will  have  to  enter the escape code (factory  setting
  1704. "+++"),   reset the modem  parameters  with  Alt-P and/or Alt-F,   and then
  1705. return  to the "connect" state with  the  command  "ATO." Callers who  wish
  1706. to  communicate at 450 baud have to call in  at  300  baud  then switch  to
  1707. 450 using the N)ew baud  selection  from  the  "Utilities" menu.
  1708.  
  1709.  
  1710. 3. RBBS-PC's SUPPORT POLICIES
  1711. -----------------------------
  1712. 3.1 RBBS-PC's Vendor Support Policy
  1713. -----------------------------------
  1714. The  only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes
  1715. Smartmodem is that these have pretty much set an industry standard   (let's
  1716. not   debate  the  issue  of whether they have  also  set  a   "technology"
  1717. standard).  If you follow the code in RBBS-PC closely, you will notice that
  1718. a great deal of effort was expended in order not to be "hardware-dependent"
  1719. on either the Hayes or the IBM PC.
  1720.  
  1721. The   purposes  of  RBBS-PC  are outlined in  section  1   of  the  RBBS-PC
  1722. documentation.  Those  who  contribute  to  RBBS-PC do so without any  hope
  1723. of  monetary   reward.   In fact, great lengths are taken  to  assure  that
  1724. neither  those  involved with the development of RBBS-PC  nor  anyone   who
  1725. distributes   RBBS-PC  does so for either personal gain or  to  promote   a
  1726. specific product at the expense of other products.
  1727.  
  1728. If  the hardware you are using is not part of the "base-line" hardware  and
  1729. RBBS-PC  doesn't  work,  your only recourse is to either modify RBBS-PC  to
  1730. meet  your  particular  hardware's needs (that's why  the  source  code  is
  1731. distributed)  or  contact  your vendor and ask him to fix his  hardware  or
  1732. modify RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1733.  
  1734. Since  1984 RBBS-PC  became something of an "industry standard."   As  such
  1735. several  manufacturers  have requested that support for  their   particular
  1736. hardware  and/or software be incorporated into RBBS-PC.  These vendors have
  1737. had three choices:
  1738.  
  1739. 1.  Obtain  a  copy  of the BASIC source code by  sending  $8  to  the
  1740.     Capital PC User Group's Software Exchange.  The source code allows
  1741.     the   vendor  to  determine  what  is  required  to  be   "RBBS-PC
  1742.     compatible."   Who   better   knows    the    quirks    of     the
  1743.     manufacturer's  product than the manufacturer?   RBBS-PC's limited
  1744.     license  specifically  permits the  distribution of  ".MRG"  files
  1745.     that  would allow RBBS-PC to run with whatever  idiomatic   quirks
  1746.     a  specific  vendor's  product exhibited.   The advantage  to  the
  1747.     manufacturer  is that he is in complete control and need not  make
  1748.     the .MRG "universal" (i.e. it need only support his product).  The
  1749.     disadvantage is that new releases of RBBS-PC come out every six to
  1750.     eight months and the vendor would have to review each  release  to
  1751.     make sure the new releases and his .MRG files were compatible.  Of
  1752.     course,  as  with  any other RBBS-PC  operator,  casual  telephone
  1753.     support is available to these vendors.
  1754.  
  1755. 2.  Supply the necessary equipment or software on a loan or gift basis
  1756.     to  be  used in the testing of future releases of  RBBS-PC.   This
  1757. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1758. Copyright 1988 by D. Thomas Mack                            Page 33 of 232
  1759.  
  1760.     approach  has  been  actively DISCOURAGED  for  three  fundamental
  1761.     reasons.
  1762.  
  1763.     1.) The vendor perceives he has "paid" for on-going support by the
  1764.         loan or donation of the product.  This is not the case because
  1765.         RBBS-PC's development is an all-volunteer activity.  As  such,
  1766.         neither I nor any of the others involved with the  development
  1767.         of  RBBS-PC  may  have the time nor  expertise  sufficient  to
  1768.         assure  compatibility  of the specific vendor's  product  with
  1769.         future releases of RBBS-PC.  About all that can be done is  to
  1770.         give the vendor our "best effort" to assure compatibility, and
  1771.         advise when it can not be made compatible.
  1772.     2.) The particular product may not have a universal  applicability
  1773.         to RBBS-PC users and (or) may not be of interest to those  who
  1774.         regularly contribute to the development of RBBS-PC.   Both  of
  1775.         these  conditions  must exist before any vendor's  product  is
  1776.         incorporated into the RBBS-PC development cycle.
  1777.     3.) The  price of the loaned or donated products (usually 3  to  5
  1778.         such products) in no way can even begin to compensate for  the
  1779.         hundreds  (if not thousands) of development hours required  to
  1780.         support other than "base-line" hardware.
  1781.  
  1782. 3.  Establish  an  on-going  institutional commitment  to  maintain  a
  1783.     dialogue  between  the vendor's engineering group and the  RBBS-PC
  1784.     development  team along with supplying the necessary equipment  or
  1785.     software  on  a loan or gift basis to be used in  the  testing  of
  1786.     future  releases  of  RBBS-PC.   This approach has  been  actively
  1787.     ENCOURAGED for three different and fundamental reasons.
  1788.  
  1789.     1.) The  vendor  overtly  makes  an  institutional  commitment  to
  1790.         jointly participate in the development of RBBS-PC.  The vendor
  1791.         has  the opportunity to supplement the all-volunteer  activity
  1792.         that  is  the  basis for RBBS-PC development  by  choosing  to
  1793.         either   modify  their  current  or  future  products  to   be
  1794.         compatible  with  RBBS-PC or to supply software  that  ensures
  1795.         compatibility with RBBS-PC.  This benefits all RBBS-PC users.
  1796.     2.) The  particular  products  that fall into  this  category  are
  1797.         required  to have a universal applicability to  RBBS-PC  users
  1798.         (i.e.  multi-tasking  DOS, networking, 2400  or  greater  baud
  1799.         capability,  error-free  protocols,  etc.).   Also  a  regular
  1800.         contributor  to RBBS-PC's development must  be  geographically
  1801.         located close to the vendor's development engineers to  assure
  1802.         a  timely dialogue.  Further any regular contributor to  RBBS-
  1803.         PC's  development who accepts the responsibility for  assuring
  1804.         RBBS-PC's  compatibility  with a particular  vendor's  product
  1805.         must  be willing to do so solely on a volunteer basis over  an
  1806.         extended  period of time and in such a way as not  to  exclude
  1807.         other vendor's products.  Only when all these conditions exist
  1808.         is  any vendor's product a candidate to be  incorporated  into
  1809.         the RBBS-PC development cycle.  This assures that the  RBBS-PC
  1810.         user  community  has  a feed-back mechanism  to  the  vendor's
  1811.         product development and design teams and the vendor is assured
  1812.         of   a   matching  long-term  commitment  from   the   RBBS-PC
  1813.         development team.
  1814. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1815. Copyright 1988 by D. Thomas Mack                            Page 34 of 232
  1816.  
  1817.     3.) The vendor recognizes that the  price of the loaned or donated
  1818.         products (usually 3 to 5 such products) is minuscule  compared
  1819.         with the hundreds (if not thousands) of man-hours that may  be
  1820.         required   from both the RBBS-PC development team as  well  as
  1821.         the  vendor's  engineers.  This assures that the  vendors  who
  1822.         choose  this  third  approach are committed  to  the  PC  user
  1823.         community.  It is precisely this type of commitment that RBBS-
  1824.         PC's  USERWARE  concept is designed to  encourage  (from  both
  1825.         users and vendors)
  1826.  
  1827. Vendors  who  have chosen to make this third type of commitment to  RBBS-PC
  1828. and the PC user community deserve the respect and encouragement of every PC
  1829. user and are (alphabetically):
  1830.  
  1831.     Ark Electronic Products, Inc.
  1832.     325 W. Hibiscus Blvd.
  1833.     Melbourne, Florida  32901
  1834.     (305) 724-5260
  1835.  
  1836.     Corvus Systems, Inc.
  1837.     2100 Corvus Drive
  1838.     San Jose, California 95124
  1839.     (408) 559-7000
  1840.  
  1841.     The Forbin Project (c/o John Friel III)
  1842.     4945 Colfax Avenue South
  1843.     Minneapolis, MN 55409
  1844.  
  1845.     Hayes Microcomputer Products, Inc.
  1846.     5923 Peachtree Industrial Blvd.
  1847.     Norcross, Georgia  30092
  1848.     (404) 449-8791
  1849.  
  1850.     International Business Machines Corporation
  1851.     (Internal Zip Code 2900)
  1852.     P.O. Box 1328
  1853.     Boca Raton, Florida  33432
  1854.     (305) 998-2000
  1855.  
  1856.     Microcom, Inc.
  1857.     1400A Providence Highway
  1858.     Norwood, MA  02062
  1859.     (617) 762-9310
  1860.  
  1861.     Multi-Tech Systems, Inc.
  1862.     82 Second Avenue, S.E.
  1863.     New Brighton, Minnesota  55112
  1864.     (612) 631-3550
  1865.  
  1866.     Orchid Technology
  1867.     4790 Westinghouse Drive
  1868.     Fremont, CA 94539
  1869.     (415) 490-8586
  1870. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1871. Copyright 1988 by D. Thomas Mack                            Page 35 of 232
  1872.  
  1873.     PC-SIG
  1874.     1030 E. Duane Ave Suite D
  1875.     Sunnyvale, CA 94086
  1876.     (408) 730-9291
  1877.  
  1878.     Prometheus Products Incorporated
  1879.     4545 Cushing Parkway
  1880.     Fremont, CA  94538
  1881.     (415) 490-2370
  1882.  
  1883.     Quarterdeck Office Systems
  1884.     150 Pico Blvd.
  1885.     Santa Monica, CA 90405
  1886.     (213) 392-9701
  1887.  
  1888.     Racal-Vadic
  1889.     1525 McCarthy Blvd.
  1890.     Milpitas, California 95035
  1891.     (408) 774-0810
  1892.  
  1893.     The Software Link, Inc.
  1894.     8601 Dunwoody Place
  1895.     Suite 336
  1896.     Atlanta, GA  30338
  1897.     (404) 998-0700
  1898.  
  1899.     The Source
  1900.     1616 Anderson Road
  1901.     McLean, Virginia  22102
  1902.     (703) 734-7500
  1903.  
  1904.     System Enhancement Associates
  1905.     21 New Street
  1906.     Wayne, NJ 07470
  1907.     (201) 473-5153
  1908.  
  1909.     U.S. Robotics, Inc.
  1910.     Skokie, Illinois 60076
  1911.     (312) 982-5010
  1912.  
  1913. Users  who feel that they have benefited or who appreciate such  commitment
  1914. to  the user community should write or call the above vendors and tell them
  1915. so,  especially  if  such  a commitment influenced the  purchase  of  their
  1916. products.   Similarly,  if  any user feels that other vendor should make  a
  1917. similar commitment to RBBS-PC and the user community,  write to that vendor
  1918. and send a copy of your letter to the following address:
  1919.  
  1920.                         D. Thomas Mack
  1921.                         39 Cranbury Drive
  1922.                         Trumbull, Conneticut 06611
  1923.  
  1924. Section  21 describes the RBBS-PC standard interface for protocol  drivers.
  1925. All  vendors of proprietary protocols who would like to have them added  to
  1926. future releases of RBBS-PC need do is simply conform to this interface.
  1927. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1928. Copyright 1988 by D. Thomas Mack                            Page 36 of 232
  1929.  
  1930.  
  1931. 3.2 RBBS-PC's User Support Policy
  1932. ---------------------------------
  1933. RBBS-PC is an all-volunteer effort on my part.   Professionally I am not  a
  1934. programmer (as anyone who has looked at the source code can testify) nor an
  1935. "expert/guru" on personal computers.  Since I am not independently wealthy,
  1936. I have a full time job (unrelated to PC's).   As with most other folks, I'm
  1937. also  busy  raising  a  family.   What time I can spare  from  these  other
  1938. activities  I  am  glad to donate to answer questions about  RBBS-PC  as  I
  1939. believe (somewhat fanatically) in the Userware concept.
  1940.  
  1941. However,  if  you have questions regarding something other than the  "base-
  1942. line"  hardware  and software requirements outlined in section  2.9,  DON'T
  1943. CALL  ME.   I probably can't help you anyway and even if I do venture  some
  1944. advice  it  will probably be wrong.   One of the axioms of  the  "Userware"
  1945. concept is that every user should be able to help themselves -- that's  why
  1946. there  are  more  than 226 pages of documentation and the  source  code  is
  1947. freely distributed (under a limited license and copyrighted).
  1948.  
  1949. The only calls that I truly appreciate are those that reveal BOTH a problem
  1950. and  a solution.   These I am more than happy to share with anyone and  are
  1951. included in RBBS-PC (either the documentation,  the software,  or both)  as
  1952. rapidly as possible. Of course, if you encounter a problem and
  1953.  
  1954.      1.  read and re-read the documentation,
  1955.      2.  spend  days  and days attempting to isolate it,
  1956.      3.  called other  SYSOPs  and asked  their help,
  1957.      4.  looked up any error messages you encountered (they are in the
  1958.          BASIC manual that comes with your IBM PC's DOS),
  1959.      5.  know what version of RBBS-PC that you are running,
  1960.      6.  know what version of CONFIG that you are running,
  1961.      7.  eliminated all other software from your environment,
  1962.  
  1963. and  still can not get RBBS-PC to work,  I am most happy to  lend  whatever
  1964. telephone  advice I can.
  1965.  
  1966. RBBS-PC'S Technical Support phone number is (203) 268-9656.  If you get the
  1967. answering machine please leave your name and phone number where you can  be
  1968. reached  in the evenings. (Do not leave Data numbers, Voice  only  please!)
  1969. Someone  will  return  your call (COLLECT) to try and help  you  with  your
  1970. problem.
  1971.  
  1972. In  this regard,  it may help to remember that there are only two types  of
  1973. problems  -- MY  problems (which are the ones that I can solve)  and  OTHER
  1974. PEOPLE's problems (which are the ones that I can't solve).
  1975.  
  1976.  
  1977. 4. HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1978. --------------------------------------------
  1979. RBBS-PC  can be obtained by sending a  check  for  $8 to the
  1980.  
  1981.                Capital PC Software Exchange
  1982.                P.O. Box 6128
  1983.                Silver Spring MD 20906.
  1984. RBBS-PC Version CPC17-1A                                    October 2, 1988
  1985. Copyright 1988 by D. Thomas Mack                            Page 37 of 232
  1986.  
  1987.  
  1988. RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to
  1989. 4 weeks for delivery -- remember this is an all-volunteer effort.  Be  sure
  1990. to  specify  RBBS-PC CPC17-1A on "diskette # 18".  If you  would  like  the
  1991. RBBS-PC  source  code  and  some utilities that  other  SYSOPs  have  found
  1992. useful, send a second $8 with your order and ask for "diskette #18S."
  1993.  
  1994. Version  CPC17-1A  of RBBS-PC's .EXE file is distributed after having  been
  1995. compiled  with  QuickBASIC  Version 3.00 compiler that had  the  DTR  patch
  1996. described  in  Appendix  T  applied to it.
  1997.  
  1998. The  exigencies  of  RBBS-PC software releases may mean  that  diskette  18
  1999. contains  an  earlier version of RBBS-PC than CPC17-1A (either  you  bought
  2000. diskette 18 sometime ago or there has been not enough time for diskette  18
  2001. to  be updated to this most current version).    Not to fear!   Your $8 has
  2002. not   been wasted.    At least three bulletin boards keep the most  current
  2003. copies of  RBBS-PC for downloading.  They are:
  2004.  
  2005. (203) 268-5315 --+
  2006.                  +---- East Coast (Trumbull, Conneticut),
  2007. (203) 268-0129 --+
  2008.  
  2009. (703) 978-6360 ------- East Coast (Fairfax, Virginia),
  2010.  
  2011. (415) 689-2090 ------- West Coast (Concord, California).
  2012.  
  2013. For  those interested, PostScript output files of  RBBS-PC's  documentation
  2014. are available from the NICBUL RBBS-PC system, run by the Nicolet Instrument
  2015. Corp.,  by downloading the files named RBDOCPS1.ARC  through  RBDOCPS7.ARC.
  2016. The seven ARC files are needed because the formatted documentation would be
  2017. too  large  for  a  single file.  The SYSOP is Michael  L.  Brown  and  the
  2018. bulletin  board  number is (608) 273-5037.  If you want it in  "hard  copy"
  2019. form, send a check for $5.00 to cover book rate shipping and printing costs
  2020. to:
  2021.          Michael L. Brown
  2022.          Nicolet Instrument Corporation
  2023.          5225-2 Verona Road
  2024.          P.O. Box 4288
  2025.          Madison, WI  53711-0288
  2026.  
  2027.  
  2028. 5. FILES RBBS-PC USES
  2029. ---------------------
  2030. There  are essentially two types of files that RBBS-PC uses -- "system" and
  2031. "text"  files.   "System"  files are defined as random files  that  RBBS-PC
  2032. reads  and  writes  to.   "Text" files are defined as  files  that  RBBS-PC
  2033. primarily reads from.   Text files can be edited externally to RBBS-PC with
  2034. most  text editors that can handle ASCII files.  Either type of file can be
  2035. "static" or "variable" in length.  By "static" it is meant that these files
  2036. have  a  pre-defined  length beyond which RBBS-PC  does  not  extend  them.
  2037. Similarly,  "variable" length files are defined as those files whose length
  2038. is  dynamically  increased by RBBS-PC.   In a multiple RBBS-PC  environment
  2039. only the "static" length files can be shared SAFELY among the various RBBS-
  2040. PC's.   The following table summarizes this using the default file names:
  2041. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2042. Copyright 1988 by D. Thomas Mack                            Page 38 of 232
  2043.  
  2044.  
  2045.         "Static" Length Files       "Variable" Length Files
  2046.   -----
  2047.    /|\    MESSAGES                   CALLERS             ARCWORKx.DEF
  2048.     |     USERS                      COMMENTS            NODExWRK
  2049.   System  MESSAGES.BAK               upload disk         RBBSxF1.DEF
  2050.   Files   USERS.BAK                  DKxxxx.ARC          DORINFOx.DEF
  2051.     |     RBBSxPC.DEF                upload disk
  2052.    \|/                               99.DIR (upload directory)
  2053.   -----
  2054.  
  2055. The following "text files" are "static" in length and can be shared safely:
  2056.   -----   NEWUSER                           RBBS-CDR.DEF
  2057.    /|\    MENU0 --> MENUA                   LGx.DEF
  2058.     |     BULLET, BULLET1 --> BULLETn       AUTOPAGE.DEF
  2059.     |     DIR.DIR, aa.DIR --> bb.DIR        CONFMAIL.DEF
  2060.     |     CDR.CDR, aa.CDR --> bb.CDR        RBBS-CDR.DEF
  2061.   Text    FILESEC                           PROTO.DEF
  2062.   Files   CONFENCE                          RBBS-REG.DEF
  2063.     |     xxxx.PUI                          PRELOG.DEF
  2064.     |     PASSWRDS                          EPILOG.DEF
  2065.     |     xx.HLP                            PRIVATE.DEF
  2066.     |     HELPxx                            AUTOPAGE.DEF
  2067.    \|/    TRASHCAN                          RBBSxTM.DEF
  2068.   -----   WELCOME
  2069.  
  2070. In  a CORVUS network environment any of  the "static" length files  can  be
  2071. shared  on  a common volume and ALL of the "variable" length files must  be
  2072. segregated on volumes unique to each copy of RBBS-PC.   RBBS-PC issues  the
  2073. NAME function of BASIC in order to determine if a file exists.   Because of
  2074. this,  all  the volumes accessed by any RBBS-PC in a CORVUS network must be
  2075. designated "read/write." Therefore,  you must be very careful when  running
  2076. CONFIG.BAS.  CONFIG creates the definition file (RBBSxPC.DEF) for each copy
  2077. of  RBBS-PC.
  2078.  
  2079. In  a MultiLink (from the Software Link,  Inc.) environment and in Orchid's
  2080. PC-NET environment the vendors claim that not only all the "static"  length
  2081. files  can  be  shared on a common volume but also some of  the  "variable"
  2082. length files can be shared.  However,  if you want to be as conservative as
  2083. possible,  run  RBBS-PC  in ALL environments as if it where  running  in  a
  2084. CORVUS network environment.  However, if you rely on the vendors claims, in
  2085. either  a  MultiLink or PC-NET environment,  when running CONFIG.BAS  which
  2086. creates  the definition file (RBBSxPC.DEF) for each copy  of  RBBS-PC,  you
  2087. must be careful to put at least the CALLERS file on an unshared volume.
  2088.  
  2089. 5.1  RBBS-PC System Files
  2090. -------------------------
  2091. As shown above, "system" files are both static and variable in length.  The
  2092. system files used by RBBS-PC are:
  2093.  
  2094. MESSAGES  - This  file is a random file that contains the message text  for
  2095.         the   RBBS-PC system.    The first record in the file contains  the
  2096.         RBBS-PC  "checkpoint" record.   The records  immediately  following
  2097.         this  first record are the RBBS-PC "node" records.  The rest of the
  2098. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2099. Copyright 1988 by D. Thomas Mack                            Page 39 of 232
  2100.  
  2101.         file consists of message  header  records  which  are  followed  by
  2102.         the  message  text  for  that  header.    Appendix A describes  the
  2103.         fields  and  their uses within the various type of records  of  the
  2104.         messages file.   RBBS-PC expects the MESSAGES file to exist and  to
  2105.         have  been created by the CONFIG utility.  If CONFIG does not  find
  2106.         the  MESSAGES file or it finds one in pre-CPC12-3A format, it  will
  2107.         create  it   and  initialize it to the size  the  SYSOP  specifies.
  2108.         Because  of the fixed length records in  this file,  it should  not
  2109.         be  created or edited outside CONFIG.   When  the   SYSOP   "packs"
  2110.         the  message file using CONFIG, the file MESSAGES.BAK is created to
  2111.         hold   the  old messages in case the "pack" is  unsuccessful  (i.e.
  2112.         not  enough space  to  duplicate  the  message file).  If the  disk
  2113.         fills  up   during  the  pack  function RBBS-PC will   recover  the
  2114.         message  file  using  MESSAGES.BAK.  When  the  messages  file   is
  2115.         successfully  packed,  the pre-packed  messages file   is   renamed
  2116.         MESSAGES.OLD   and  the  temporary  file  MESSAGES.BAK  is  renamed
  2117.         MESSAGES.  The  MESSAGES  file  should  only  be   "packed"  in   a
  2118.         multiple  RBBS-PC  environment  when there are no RBBS-PCs  active.
  2119.         The MESSAGES file can be shared among multiple RBBS-PCs.
  2120.  
  2121. USERS  - The USERS file is a random access file that has a record for  each
  2122.         user  who used the system.   The record contains a profile for each
  2123.         user who has logged onto RBBS-PC.   Appendix A describes the format
  2124.         of the records within the USERS file.  The records are 128 bytes in
  2125.         length and are automatically  maintained  by  RBBS-PC.   The  SYSOP
  2126.         can  do  some   limited  editing   using   SYSOP  function  5.   To
  2127.         initialize the system simply ERASE this file.   RBBS-PC expects the
  2128.         USERS  file to exist.  If  the utility CONFIG does  not   find  the
  2129.         file  on the system it will create it to the size specified by  the
  2130.         SYSOP.  The  USERS  file   should  not be created or edited outside
  2131.         CONFIG.   When the SYSOP  "packs"  the user file using CONFIG,  the
  2132.         file  USERS.BAK  is  created to hold the old  users  in  case   the
  2133.         "pack"  is  unsuccessful (i.e.  not enough space to  duplicate  the
  2134.         users  file).   If the disk fills up during the pack function RBBS-
  2135.         PC  will  recover  the USERS file with USERS.BAK.  When  the  users
  2136.         file  is successfully packed, the pre-packed users file is  renamed
  2137.         USERS.OLD  and the temporary file USERS.BAK is renamed  USERS.  The
  2138.         USERS   file  should  only  be  "packed"  in  a  multiple   RBBS-PC
  2139.         environment when there are no RBBS-PC's active.  The USERS file can
  2140.         be shared among multiple RBBS-PC's.
  2141.  
  2142. CALLERS - This file is a random file that contains a log of all callers  as
  2143.         they  log on to the system along with callers city and  state,  the
  2144.         date and the  time.   The names are added to the end of the file as
  2145.         well  as  are the names  of  the files uploaded/downloaded  by  the
  2146.         caller.    If the file is not found  RBBS-PC will create a new one.
  2147.         The  file  should be ERASED to clear the  log.   The  CALLERS  file
  2148.         cannot be shared among multiple RBBS-PC's.
  2149.  
  2150. COMMENTS  - This file is a sequential file that contains any comments  that
  2151.         have been left by users for the SYSOP.   The file can be scanned by
  2152.         a SYSOP  function  or it can be TYPEd or edited outside the RBBS-PC
  2153.         system.   A  SYSOP  function is available to delete this file,   or
  2154.         it  can be emptied outside of  DOS.   The file will be  created  by
  2155. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2156. Copyright 1988 by D. Thomas Mack                            Page 40 of 232
  2157.  
  2158.         RBBS-PC  if  it is not found.  The COMMENTS file cannot  be  shared
  2159.         among multiple RBBS-PC's using CORVUS' "OMNINET".  This file can be
  2160.         shared using MultiLink or Orchid.
  2161.  
  2162. 99.DIR - The default file name on the upload disk that is to have the name,
  2163.         file   size,   date, and description appended to it of  files  that
  2164.         have  been  uploaded.   The  99.DIR file  cannot  be  shared  among
  2165.         multiple  RBBS-PC's  using CORVUS's "OMNINET", but  can  be  shared
  2166.         using MultiLink or Orchid.
  2167.  
  2168. RBBS-PC.DEF  - This  is  an  ASCII  text file  created  as  output  by  the
  2169.         CONFIG program.    It contains the configuration parameters for the
  2170.         RBBS-PC.  It  is  read by RBBS-PC to  determine  the  configuration
  2171.         settings  tailored   to   your  RBBS-PC.   In  a  multiple  RBBS-PC
  2172.         environment   the  definition  file  for  each  RBBS-PC  is   named
  2173.         RBBSxPC.DEF  where "x" is a number 1 through 9 , 0 (for  the  tenth
  2174.         copy),  and  A  through  Z (for the  eleventh  through  36th  copy)
  2175.         corresponding to  which copy  RBBS-PC it  describes.  In a   single
  2176.         RBBS-PC  environment the name will be RBBS-PC.DEF.
  2177.  
  2178. RBBS-PC  displays on line 25 the status of those files which must be locked
  2179. in a network environment.  The lock status of the message file is displayed
  2180. in  positions 68 & 69.   The lock status of the user file is  displayed  in
  2181. positions 71 & 72.  The lock block status is displayed in positions 74 & 75
  2182. and comments/uploads share positions 77 & 78.   The letter "U" in the first
  2183. position  shows that the file is currently "UNLOCKED".   The letter "L"  in
  2184. the first position indicates that the file is "LOCKED".
  2185.  
  2186. ARCWORKx.DEF  - This file is created as output by the ARC view  command and
  2187.         contains the contents of the ARC file being inquired against.
  2188.  
  2189. QMXFER.ERR - This file is created as output by  QMXFER.COM to notify RBBS-
  2190.         PC of the results of an external file protocol transfer.
  2191.  
  2192. DKxxxx.ARC  -  This  file is created as output by  the  Library  Sub-System
  2193.         archive  program.   This  work file is deleted  each  time  RBBS-PC
  2194.         recycles.
  2195.  
  2196. DORINFOx.DEF  -  This file is created by RBBS-PC when a caller exits  to  a
  2197.         DOOR.  It contains information about the caller needed by a "DOOR".
  2198.         It  consists of an twelve record file that contains  the  following
  2199.         information:
  2200.          1.  The name of the RBBS-PC system
  2201.          2.  The SYSOP's first name
  2202.          3.  The SYSOP's last name
  2203.          4.  The communications port being used
  2204.          5.  The baud rate and parity the caller logged on at and the  baud
  2205.                  rate that RBBS-PC is connected to the modem at
  2206.          6.  The network type (if any) RBBS-PC is running in
  2207.          7.  The caller's first name
  2208.          8.  The caller's last name
  2209.          9.  The city and state the caller is from
  2210.         10.  The caller's graphics preferences
  2211.         11.  The caller's security level
  2212. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2213. Copyright 1988 by D. Thomas Mack                            Page 41 of 232
  2214.  
  2215.         12.  The caller's time remaining in the current session
  2216.  
  2217. NODExWRK --  This  file  is created by RBBS-PC when a caller  exits  to  an
  2218.         external  protocol to do "batch" downloads.  It contains a list  of
  2219.         fully  qualified file names to be downloaded.
  2220.  
  2221. 5.2  RBBS-PC Text Files
  2222. -----------------------
  2223. Similarly, the RBBS-PC "text" files are both static and variable in length.
  2224. The "text" files used by RBBS-PC are:
  2225.  
  2226. BULLET   - This is a text menu file that is printed following the   WELCOME
  2227.         file  when a user first enters the system.   It must be present  if
  2228.         "CONFIG   Utility parameter 43" is greater than 1.  It can also  be
  2229.         called from  the  main  menu  with the <B>ulletins command.
  2230.  
  2231. BULLET1 --> n -- There can be 1 to 99 "bulletins".   RBBS-PC will check for
  2232.         the existence of a file whose name consists of the prefix given  by
  2233.         parameter  44  of CONFIG.BAS appended with the bulletin number  and
  2234.         using parameter 41 of CONFIG.BAS to determine the drive to find the
  2235.         bulletin on.
  2236.  
  2237. Users  can elect to have displayed two different types of "graphics"  files
  2238. for such standard RBBS-PC system files as HELPxx,  BULLET, MENU's, etc.  In
  2239. order  for a user to see either of these two different types of  "graphics"
  2240. files, the following must have occurred:
  2241.  
  2242.           logged  on  N/8/1,
  2243.           requested graphics (either full ASCII or "color/music"), and
  2244.           the file must exist and the filename end in either:
  2245.                "G" for files containing the graphic ASCII characters
  2246.                     whose values are in the range 129 to 256, or
  2247.                "C" for files containing combinations of the full
  2248.                     256 characters that the caller's communication
  2249.                     software can interpret and translate into colors
  2250.                     and music (e.g. PCTK666, QMODEM, and EXECPCT).
  2251.  
  2252. RBBS-PC  will check to see if a "graphics" files exists by appending a  "G"
  2253. or "C" to the file name.  If such a file can't be found, RBBS-PC will check
  2254. to see if a non-graphics file exists (i.e.  one without the "G").   RBBS-PC
  2255. will  display the first file it finds or a message that the file can not be
  2256. found.
  2257.  
  2258. DIR.DIR,  aa.DIR  -->  nn.DIR  -- At  least  one  DIR.DIR file  has  to  be
  2259.         present   on   one   of   the  drives  available  for  downloading.
  2260.         Alternative directories, aa.DIR --> nn.DIR (see section 13), should
  2261.         be meaningful and  should be reflected in the DIR file.
  2262.  
  2263. CDR.CDR,   aa.CDR   -->   nn.CDR  -- At least one CDR.CDR file  has  to  be
  2264.         present  on  one  of the drives available for  downloading  if  the
  2265.         Library   Sub-System  support  has  been  activated.    Alternative
  2266.         directories,  aa.CDR --> nn.CDR, should be meaningful and should be
  2267.         reflected in the CDR.CDR file.
  2268. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2269. Copyright 1988 by D. Thomas Mack                            Page 42 of 232
  2270.  
  2271. FILESEC - is more fully described in section 17.4 on security.
  2272.  
  2273. HELP    -- There  is  a  help file for each command which  has  the  format
  2274.         xy.HLP, where x is the first letter of the section (M,F,U) and y is
  2275.         the  command  letter.   There are also the following  special  help
  2276.         files:
  2277.  
  2278.         MAIN.HLP  -text  file that is printed when <H>elp is  requested  on
  2279.         the  main function prompt.  It contains  command information.
  2280.  
  2281.         HELP03  -text  file that describes the message  protection  options
  2282.         when   <?>   is   entered  after  the  message <E>nter  command  is
  2283.         executed  at  the  main  message menu.
  2284.  
  2285.         HELP04  -text  file that describes the message  entry  subfunctions
  2286.         when  <?>  is entered at the subfunction prompt.
  2287.  
  2288.         FILE.HLP  -text   file that is printed when <H>elp is  entered   in
  2289.         the  files  subsystem function prompt.
  2290.  
  2291.         UTIL.HLP - text file  printed  when  <H>elp is  requested  in   the
  2292.         utility  subsystem function prompt.
  2293.  
  2294.         HELP09  -text  file  printed when <H>elp is requested for  type  of
  2295.         graphics a user wants (none, ASCII, color/music).
  2296.         LIBR.HLP   -  text  file that is printed when <H>elp is entered  in
  2297.         the library subsystem function.prompt.
  2298.  
  2299.         SMARTTXT.HLP  -  text  file that illustrates the  use  of  embedded
  2300.         commands within any text file displayed by RBBS-PC that causes  the
  2301.         text  to appear personalized to the caller.  See section 8.9 for  a
  2302.         fuller description of this RBBS-PC feature.
  2303.  
  2304.         UPCAT.HLP  --  This  is  the  file that  is  used  to  help  user's
  2305.         categorized their up-uploads.
  2306.  
  2307.         SECVIO.HLP  -- If this file is present, it is shown to  the  caller
  2308.         each time a security violation occurs.
  2309.  
  2310. MENU0->A --  contain the local SYSOP menu and menu of various commands  for
  2311.         the  subsystems.   It  is  recommended that these be placed  on  an
  2312.         electronic disk drive  (i.e.  RAM) rather than on a floppy or  hard
  2313.         drive.
  2314.  
  2315. NEWUSER  - This is a text file that is displayed for new users just  before
  2316.         registration occurs.
  2317.  
  2318. PASSWRDS - is more fully described in section 17.3 on security.
  2319.  
  2320. PRELOG  -  A  text  file displayed to callers prior  to  asking  for  their
  2321.         first/last name and password.
  2322. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2323. Copyright 1988 by D. Thomas Mack                            Page 43 of 232
  2324.  
  2325. RBBS-CDR.DEF  - is  a text file that contains the disk numbers,  paths  and
  2326.         disk  titles  of disks available to  the  Library  subsystem.   The
  2327.         format of the file is described in section 13.6.  The  RBBS-CDR.DEF
  2328.         (and  matching  FMS  directory) file can  be  downloaded  from  Jon
  2329.         Martins' system. It is not distributed with RBBS-PC because of it's
  2330.         size (500K).
  2331.  
  2332. TRASHCAN  - is  a  text  file  that contains names  that  the  SYSOP  finds
  2333.         objectionable  and  does not want used as either a users  first  or
  2334.         last name.  RBBS-PC uses this file, if it exists, to deny access to
  2335.         anyone  using  one  of these names for either their first  or  last
  2336.         name.
  2337.  
  2338. WELCOME  - is  a  text  file that a user first sees upon logging  onto  the
  2339.         system.    It   must  be present,   and it should  be  modified  to
  2340.         identify   your   system.   Similarly each "conference" can have  a
  2341.         "welcome" file by having a file whose last character ended in a "w"
  2342.         (i.e.  conference "RBBS" would have a message file named  RBBSM.DEF
  2343.         and  a user file named RBBSU.DEF if it where a "private" conference
  2344.         and a welcome file named RBBSW.DEF).
  2345.  
  2346. CONFENCE - A text file displayed to users who issue the J)oin function from
  2347.         the  main  menu.   It can be created by any text  editor  that  can
  2348.         create  an  ASCII file and should contain a list of  the  available
  2349.         conferences.
  2350.  
  2351. LGx.DEF  - This is the file displayed to users based on security level when
  2352.         the  caller  logs on.  The "x" defines the security  level  of  the
  2353.         users who would see this file.  A SYSOP can "lock out" users  (i.e.
  2354.         give  them  a  security level below the minimum to  logon  on)  for
  2355.         various  reasons.  This allows the SYSOP to provide an  explanation
  2356.         for callers whose security level falls below the minimum to log on.
  2357.         It  can also be used to provide a "personalized" welcome  to  users
  2358.         who  have a specific security level.  Callers see the LGx.DEF  file
  2359.         corresponding  to  their assigned security levels.   Some  examples
  2360.         are:
  2361.  
  2362.         Security      File     Text that might be included in the file
  2363.          Level        Name
  2364.            9        LG9.DEF    "Hi, nice to have a another SYSOP call in."
  2365.            6        LG6.DEF    "Registered users are the most appreciated."
  2366.            4        LG4.DEF    "Too many security violations."
  2367.           -1        LG-1.DEF   "You behavior has been inappropriate."
  2368.          -99        LG-99.DEF  "You have never uploaded anything."
  2369.  
  2370. RBBSxF1.DEF  -- This  is the file dynamically created when the local  SYSOP
  2371.         wants to drop to DOS.
  2372.  
  2373. EPILOG.DEF  --  This is the questionnaire that is shown to users   who  log
  2374.         off.  It  can be either an extensive "poll" (which  frequent  users
  2375.         would find tedious) or a simple thank you.
  2376.  
  2377. PRIVATE.DEF  --  This  file contains the  information  used  for  "personal
  2378.         downloading", described in section 13.7.
  2379. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2380. Copyright 1988 by D. Thomas Mack                            Page 44 of 232
  2381.  
  2382.  
  2383. RBBS-REG.DEF  -- This is the questionnaire that is asked of all  new  users
  2384.         who  log on.  It is only seen by new users and can be as  extensive
  2385.         as you may like or you can have none at all.
  2386.  
  2387. MAIN.PUI -- This is the programmable user interface file that allows the
  2388.         SYSOP to structure the RBBS-PC commands as desired.
  2389.  
  2390. CONFMAIL.DEF -- This is a text file setup by the SYSOP to notify callers of
  2391.         the  mail they have waiting in specific (or all) conferences.   See
  2392.         section 18.1 for a more comprehensive description of this feature.
  2393.  
  2394. AUTOPAGE.DEF -- This is a text file setup by the SYSOP that informs RBBS-PC
  2395.         of  which  caller,  callers, or group of callers  that  the  system
  2396.         should automatically "page" the SYSOP as soon as they log on.   See
  2397.         section 8.11 for a more comprehensive description of this feature.
  2398.  
  2399. 6.  INSTALLING RBBS-PC FOR THE FIRST TIME
  2400. -----------------------------------------
  2401. RBBS-PC,  unlike  simpler applications such as games and  utilities,  is  a
  2402. complex  application that requires someone who wishes to set up RBBS-PC  to
  2403. already  be familiar with modems and PC communications.   This  section  is
  2404. intended  to provide a step-by-step approach to setting up RBBS-PC for  the
  2405. first time.   Follow the steps thoughtfully!   Do not proceed to subsequent
  2406. steps until you understand all the previous steps.
  2407.  
  2408. However,  for  those who are NOT familiar with  electronic  bulletin  board
  2409. systems  in  general, a much better introduction to installing  RBBS-PC  is
  2410. contained  in the book "Electronic Bulletin Board Starter Kit"  by  Charles
  2411. Bowen  and David Peyton, published by Bantam Books.  The book does  in  436
  2412. pages  what  the next few pages attempt to do.  It is a  superb  guide  for
  2413. someone  who  has  never  setup  a bulletin  board  system  and/or  is  not
  2414. knowledgeable  about  PC or asynchronous communications.   The  book  comes
  2415. complete  with an extensive index as well as a copy of RBBS-PC CPC  Version
  2416. 15-1C  and, of course, the associated source code.  Since all  versions  of
  2417. RBBS-PC are upward compatible, this book serves equally well as a guide for
  2418. the  uninitiated to all subsequent versions of RBBS-PC.  This  book  guides
  2419. the  uninitiated  potential SYSOP in easy stages from  unwrapping  the  two
  2420. diskettes  that  are included with the book to operating the  more  advance
  2421. features  of RBBS-PC.  The book was published by Bantam Books in August  of
  2422. 1988,  ISBN  0-553-34552-4,  and can be found in most  technical  book  and
  2423. computer  stores.   It  addresses the topic  of  installing  an  electronic
  2424. bulletin  board system in a far better way than this  "Technical  Reference
  2425. Guide" could (or would).
  2426.  
  2427. Because  RBBS-PC attempts to provide SYSOPs the maximum flexibility, it  is
  2428. perfectly possible for those setting RBBS-PC up for the first time to shoot
  2429. themselves  in the foot.  Be patient with yourself.  Remember  that  things
  2430. worth achieving usually are not obtainable without effort.
  2431.  
  2432. Because  of  the prevalence of hard disk usage these  days,  the  following
  2433. assumptions about the hardware to be used to set up RBBS-PC has been made:
  2434. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2435. Copyright 1988 by D. Thomas Mack                            Page 45 of 232
  2436.  
  2437.          1. IBM PC or XT with a hard disk (previously formatted!)
  2438.          2. Minimum RAM of 320k (only if recompiled -- see Appendix Y)
  2439.          3. Hayes external modem
  2440.          4. Dedicated 'voice grade' phone line
  2441.  
  2442.                              SOFTWARE REQUIRED
  2443.  
  2444.          1. IBM PC-DOS 2.0 or higher
  2445.          2. RBBS-PC.EXE - the main program
  2446.          3. CONFIG.EXE - the setup program
  2447.          4. RBBSDOCx.DOC - the documentation files
  2448.          5. ALL of the RBBS-PC text files: MENU1 - MENU5, HELPxx, *.HLP,
  2449.             WELCOME, DIR.DIR, xxxxxxxx.DIR, PRELOG, BULLET, BULLETxx
  2450.          6. A text editor (PE2, WS non-doc, EDLIN, etc.) to create other
  2451.             useful/needed text files.  Your editor MUST be capable of
  2452.             saving spaces (hex 20's) as characters and not substitute
  2453.             tab characters for strings of spaces.  Those mentioned
  2454.             above ARE.
  2455.          7. WATCHDGx.COM - an external carrier monitor program where
  2456.                            x =COMx and which is available from most
  2457.                            RBBS-PC systems.
  2458.  
  2459. 1.  [ ] PRINT A COPY OF THE DOCUMENTATION!
  2460. 2.  [ ] Have dinner or take a nap while the previous step executes.
  2461. 3.  [ ] Create a sub-directory in which RBBS-PC is to reside.   MKDIR \RBBS.
  2462. 4.  [ ] Change current directory to the newly created directory CHDIR \RBBS.
  2463. 5.  [ ] Create a sub-directory called NEW for your uploads.
  2464. 6.  [ ] Create any other sub-directories you desire to hold downloads
  2465.              MKDIR TURBO
  2466.              MKDIR PATCHES
  2467.              MKDIR UTILS        etc. as sub-directories of C:\RBBS
  2468.         The  following  is a suggested 'layout' of the sub-directories  and
  2469.         files which comprise RBBS-PC.
  2470.         C:\
  2471.           COMMAND.COM
  2472.           \DOS
  2473.           \RBBS
  2474.             RBBS.BAT
  2475.             RBBS-PC.EXE
  2476.             CONFIG.EXE
  2477.             WATCHDGx.COM
  2478.             MESSAGES
  2479.             USERS
  2480.             MENU1->MENU5
  2481.             MENUA
  2482.             HELPxx
  2483.             *.HLP
  2484.             WELCOME
  2485.             PRELOG (OPTIONAL)
  2486.             BULLET
  2487.             BULLET1 (HOWEVER MANY)
  2488.             FILESEC
  2489.             PRIVATE.DEF (OPTIONAL)
  2490.             RBBS-CDR.DEF (OPTIONAL)
  2491. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2492. Copyright 1988 by D. Thomas Mack                            Page 46 of 232
  2493.  
  2494.             LGx.DEF (OPTIONAL)
  2495.             AUTOPAGE.DEF (OPTIONAL)
  2496.             CONFMAIL.DEF (OPTIONAL)
  2497.             PROTO.DEF (OPTIONAL)
  2498.             PASSWRDS
  2499.             TRASHCAN
  2500.             CALLERS (WRITTEN BY RBBS-PC)
  2501.             COMMENTS  (IF NOT USING COMMENTS AS MESSAGES WILL  BE
  2502.                                  CREATED BY RBBS-PC)
  2503.             \RBBS\NEW
  2504.                  UPLOADS.DIR    (Whatever your users upload will go here)
  2505.             \RBBS\DIR
  2506.                  DIR.DIR
  2507.                  TURBO.DIR
  2508.                  UTILS.DIR
  2509.                  CDR.CDR (OPTIONAL FOR LIBRARY)
  2510.                  100.CDR (OPTIONAL FOR LIBRARY)
  2511.                  101.CDR (OPTIONAL FOR LIBRARY)
  2512.             \RBBS\TURBO (Whatever your users can download must be put here)
  2513.             \RBBS\PATCHES (Or here!)
  2514.             \RBBS\UTILS (Or here!)
  2515. 7.  [ ] Copy RBBS-PC.EXE to the current  directory   (C:\RBBS should be).
  2516. 8.  [ ] Copy CONFIG.EXE to the current directory.
  2517. 9.  [ ] Copy all MENU and HELP files to the current directory.
  2518. 10. [ ] Create a text file which will serve as your bulletins menu (default
  2519.         = BULLET) using your text editor.   Normally,  it is desirable  for
  2520.         this to be a single 23-line page or shorter.  This is to serve as a
  2521.         'menu'  for the user to select bulletins for reading by choosing  a
  2522.         number  (1-99).   Each  bulletin  file  you create  will  be  named
  2523.         BULLETxx  where xx = the number on this menu file.   The  following
  2524.         illustrates what you might create:
  2525.           +-------------------------------------------------+
  2526.           |                  Bulletin Menu                  |
  2527.           |-------------------------------------------------|
  2528.           | # | UPDATED  |                  SUBJECT         |
  2529.           |-------------------------------------------------|
  2530.           | 1 | 01/01/80 | TOPIC OF BULLETIN #1  (BULLET1)  |
  2531.           | 2 | 01/01/80 | TOPIC OF BULLETIN #2  (BULLET2)  |
  2532.           | 3 | 01/01/80 | TOPIC OF BULLETIN #3  (BULLET3)  |
  2533.           +-------------------------------------------------+
  2534. 11. [ ] Create a text file for each bulletin that are going to be available
  2535.         BULLET1  BULLET2  ...   etc.   making certain that the contents  of
  2536.         each corresponds to the indication in the bulletin menu file.
  2537. 12. [ ] To support  all  of the graphics options of RBBS-PC you will need a
  2538.         separate  BULLET  file (BULLETG for IBM-ASCII and BULLETC for  ANSI
  2539.         graphics).   This naming convention (suffix of G or C) applies also
  2540.         to  the  menus and the directory files.  If disk space  is,  or  is
  2541.         anticipated  to  be,  a  problem use of  only  one  set  of  menus.
  2542.         Graphics  or  color menus and bulletins are entirely  optional  and
  2543.         RBBS-PC will run fine without them.
  2544. 13. [ ] Create a text  file named PRELOG.  Although  this file is  truly an
  2545.         an option,  it is a good place for announcements which you want all
  2546.         callers to see.  If your system restricts new users to 1200 baud or
  2547.         higher  it  is also a good place to let 300 baud callers  know  why
  2548. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2549. Copyright 1988 by D. Thomas Mack                            Page 47 of 232
  2550.  
  2551.         they cannot log on.
  2552. 14. [ ] Create a text  file named  WELCOME (WELCOMEG, WELCOMEC, if desired)
  2553.         which can contain anything you'd like to express to your callers in
  2554.         the way of a greeting or other info.   Many SYSOPs use this file to
  2555.         display their 'logo' and a brief description of the equipment  they
  2556.         are using.
  2557. 15. [ ] Now we come to the  text files for the RBBS-PC file subsystem.   At
  2558.         this point we will use the "multiple directory" format described in
  2559.         section 13 rather than the "single directory" format. These are the
  2560.         most   hassle,  both  to create initially  and  to  maintain.   The
  2561.         list(s) of files are called "directories" in the documentation  and
  2562.         should NOT be confused with DOS "subdirectories."  These text files
  2563.         require  a very specific format (see section 13.4) because  RBBS-PC
  2564.         searches  for information based on the fields being  pre-determined
  2565.         lengths.
  2566. 16. [ ] You will want a ".DIR" file  to correspond to each of the  DOS sub-
  2567.         directories available to your users for downloading.
  2568. 17. [ ] Create a text  file  named  DIR.DIR  which  contains a list  of the
  2569.         available  .DIR  filenames  (minus the extension)  and  some  brief
  2570.         description  of  how the user may view these lists (i.e.  L;XYZ  or
  2571.         L;123).  Now for some suggestions:
  2572.           1) Place all your .DIR files in the same subdirectory.
  2573.           2) If you don't want your upload directory seen, do NOT
  2574.              place it in with the other .DIR files.
  2575. 18. [ ] Create a text  file named  FILESEC  which  is one  of the most sig-
  2576.         nificant  of  the SYSOP generated files since it  gives  you  total
  2577.         control  of  which files & sub-directories are available to you  or
  2578.         your  users for downloading.   Files may additionally be  protected
  2579.         from  downloading by password(s) which RBBS-PC will require of  the
  2580.         user  if  the file is requested.  The format of this file  is  VERY
  2581.         specific  as are the other security related files you will  create.
  2582.         See section 16.4 for a description of the format of this file.
  2583. 19. [ ] Create yet  another text  file named TRASHCAN  which is  checked by
  2584.         RBBS-PC when a newuser logs on,  it will contain a list of the user
  2585.         names  which  you  will not permit on  your  system.   These  might
  2586.         include  sexually oriented or derogatory  terms,  computer  jargon,
  2587.         common  abbreviations, etc.  See section 11.5 for a  more  detailed
  2588.         description of the format of this file.
  2589. 20. [ ] Create a text file  named PASSWRDS from  which you may  control the
  2590.         the  logon  duration of various user security levels and/or  permit
  2591.         extending the current logon of a user through knowledge of specific
  2592.         passwords.   Again,  the  format  of this file is critical  to  its
  2593.         functionality.  See section 16.3 for a more detailed description of
  2594.         the format of this file.
  2595. 21. [ ] There is one more text file  which you may  wish to utilize.  Named
  2596.         NEWUSER it is shown only to those persons signing on to your system
  2597.         for  the  first  time.   It can contain anything which you  want  a
  2598.         newuser to know about the system (ground rules, conferences, etc.).
  2599.         It  is  displayed immediately prior to the caller  being  asked  to
  2600.         C)hange his logon data, D)isconnect, or R)egister on the system.
  2601. 22. [ ] Create a batch file to automatically bring up RBBS-PC.   Typically,
  2602.         this  would be invoked from the AUTOEXEC.BAT file on a PC that  was
  2603.         primarily  dedicated  to running  RBBS-PC.  See  section 14  for  a
  2604.         more detailed description of a suggested RBBS.BAT file.
  2605. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2606. Copyright 1988 by D. Thomas Mack                            Page 48 of 232
  2607.  
  2608. 23. [ ] Now with documentation in hand type CONFIG and  press Enter.  After
  2609.         a  welcoming  screen is displayed you will be asked if you will  be
  2610.         running multiple nodes - for this discussion it is assumed that you
  2611.         have only one phone line.   So type NO and press the Enter key.  In
  2612.         a  few seconds you will see the main configuration menu.   You  may
  2613.         now choose to have CONFIG guide you through the critical parameters
  2614.         (i.e. those that typically are unique to each RBBS-PC) or press the
  2615.         F1 key to access the first 'page' of the setup options.   CAREFULLY
  2616.         answer  each of the questions regarding SYSOP names, etc.   If  you
  2617.         are  unsure  of  how  to  respond - refer  to  section  11  of  the
  2618.         documentation.
  2619. 24. [ ] Check that your modem's configuration switches have been set to the
  2620.         positions indicated in the docs (for Hayes 1200 external  UUDDDUUD)
  2621.         or  to the corresponding functions as listed in  the  documentation
  2622.         for your "Hayes-compatible" modem.  This step can be tricky if your
  2623.         modem is not among those  detailed in the documentation - even with
  2624.         the  modem manual in  hand.   But you knew this when you saved  all
  2625.         that money by purchasing a non-Hayes modem.
  2626. 25. [ ] Press  the 'End' key, respond 'YES' at  the prompt and press Enter.
  2627.         This  creates  a file named RBBS-PC.DEF in the  current  directory.
  2628.         During  the  execution of CONFIG.EXE it will have also created  two
  2629.         additional  files  (one for the user file and one for  the  message
  2630.         file) using the names you specified,  or USERS and MESSAGES if  you
  2631.         accepted the defaults.
  2632. 26. [ ] Turn on your modem if external.
  2633. 27. [ ] Look at your CONFIG.SYS and AUTOEXEC.BAT files and eliminate any
  2634.         terminate and stay resident software.
  2635. 28. [ ] Make sure you are running with IBM's (not Microsoft's) PC DOS.
  2636. 29. [ ] Type RBBS and press Enter.  You're on your way as a SYSOP!
  2637.  
  2638.  
  2639. 7.   THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC
  2640. -----------------------------------------------------------------
  2641. IT  CONTINUALLY RECYCLES!  This can have several causes.  RBBS-PC  requires
  2642.    that a modem be attached to your communications port.  Therefore:
  2643.     1.)  check what communication port is being used.
  2644.     2.)  verify that the communications port exists.
  2645.     3.)  verify that your modem is attached to it.
  2646.     4.)  verify that your modem is powered up.
  2647.     5.)  verify that your modem is configured properly.
  2648.     6.)  verify that CONFIG is configured for your modem.
  2649.     7.)  verify that the modem cable supports all ten signals required by
  2650.          RBBS-PC (see Appendix S).
  2651.     8.)  verify that DTR is set to "normal" rather than always "on" (i.e.
  2652.          true).
  2653.     9.)  verify that each DOS subdirectory referred to in CONFIG exists.
  2654.    10.)  verify that RBBS-PC run properly when CONFIGured for COM0 (i.e.
  2655.          a local workstation).
  2656.  
  2657.    If,  after  all  of  the above has been  attempted,  the  problem  still
  2658.    persists,  try  deleting your MESSAGES and USERS files and re-run CONFIG
  2659.    to create new ones.
  2660. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2661. Copyright 1988 by D. Thomas Mack                            Page 49 of 232
  2662.  
  2663.    Finally,  having exhausted all the above remedies,  the system continues
  2664.    to  continually  re-cycle,  you  may have an  incompatible  "clone"  PC,
  2665.    incompatible DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  2666.  
  2667. IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following
  2668.    things:
  2669.     1.)  Phone line is not plugged into the modem.
  2670.     2.)  Modem is not powered on.
  2671.     3.)  Modem is not connected to the communications port that RBBS-PC was
  2672.          told to use.
  2673.     4.)  Your modem is not "Hayes compatible" enough to handle the modem
  2674.          commands described in section 12.
  2675.     5.)  Your modem cable does not have PIN 22 connected.
  2676.  
  2677.    RBBS-PC   does  not require PIN 22 to be hooked up on the  RS-232  cable
  2678.    (that's  the   cable  which runs between the modem and the computer)  if
  2679.    you  specify  in CONFIG that RBBS-PC is  to answer  the phone   on  zero
  2680.    rings  (and that  it is not  a RING-BACK system).  In this setting RBBS-
  2681.    PC will initialize the modem so that the MODEM automatically answers the
  2682.    phone.
  2683.  
  2684.    RBBS-PC's  default is that RBBS-PC depends on either PIN 22 (i.e.  "ring
  2685.    indicator") or the modem sending the characters "RING" to know  when  the
  2686.    phone  is ringing.  This is because RBBS-PC, and NOT the modem,  answers
  2687.    the  phone  by  issuing the ATS1? command to  determine  what  ring  has
  2688.    occurred and then the ATA command to tell the modem to answer the  phone
  2689.    (see section 12).  If you modem does not send the characters "RING" each
  2690.    time the phone rings, then you will need a cable with PIN 22  connected.
  2691.    Some  computers  (i.e. the PCjr's external RS-232  interface)  and  some
  2692.    modem cables don't have a "ring-indicator" signal.  PIN 22 is the   ring
  2693.    indicator   coming  from the modem going to the  computer. Just  because
  2694.    you  bought an RS-232 cable, don't assume that it has PIN 22  connected.
  2695.    The  $55 12-pin RS-232 cable sold by many computer stores often may  not
  2696.    have PIN 22 connected.  For about $18 in parts from Radio Shack you  can
  2697.    put  together  your  own  RS-232 cable with  all  the   pins  connected.
  2698.    A friend of mine paid $14.88 (including postage) for a RS-232 cable with
  2699.    all  the pins connected by ordering part number CDB25P-4-S  from  Jameco
  2700.    Electronics.  Jameco Electronics' telephone number is (415) 592-8097.
  2701.  
  2702.    There  have been numerous revisions of the ROM in the Hayes  modems.  If
  2703.    all else fails, you might try adjusting the number of rings that RBBS-PC
  2704.    is  to  wait until it answers the phone (CONFIG parameter 204).   If  it
  2705.    won't  answer  on  one ring, set it to 0.  If it won't  answer  on  zero
  2706.    rings, set it to one.
  2707.  
  2708. IT  LOCKS  UP MY SYSTEM!   Actually this is probably caused by one  of  the
  2709. following things:
  2710.  
  2711.     1.)  The .EXE file generated by the BASIC compiler is incompatible with
  2712.          either the DOS that you are running (i.e. it isn't IBM's DOS) or
  2713.          the other software you load into the system prior to running RBBS-
  2714.          PC via CONFIG.SYS or your AUTOEXEC.BAT file.
  2715.     2.)  You  indicated  in  CONFIG that you were running in  one  of  the
  2716.          supported networks (i.e. CORVUS, MultiLink, Orchid, etc.) but you
  2717. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2718. Copyright 1988 by D. Thomas Mack                            Page 50 of 232
  2719.  
  2720.          aren't.
  2721.     3.)  You are running on a Compaq Deskpro (or using an add-on board that
  2722.          uses  the  unused IBM DOS interrupt X'7F') and  should  have  used
  2723.          CONFIG parameter 29 to indicate you are using a Compaq PC.
  2724.     4.)  You are using an internal modem that doesn't have the same switch
  2725.          settings as the Hayes 1200 and/or your modem needs to have the
  2726.          result codes turned off when RBBS-PC re-cycles.  Set the modem
  2727.          initialization string to "ATQ1E1F1M1X0H0".
  2728.  
  2729.  
  2730. 8.  PLANNING YOUR USER INTERFACE
  2731. ---------------------------------
  2732. RBBS-PC  provides each SYSOP the maximum control over what is presented  to
  2733. callers.  There are three areas of control:
  2734.  
  2735. 1. The menus presented to novice callers.
  2736. 2. What is included in the prompt all users get.
  2737. 3. What symbol invokes a particular function.
  2738.  
  2739. 8.1 Menus Shown to Callers
  2740. --------------------------
  2741. The  menus in RBBS-PC are external text files that are presented to  novice
  2742. users.   RBBS-PC  simply  displays what is in these files to  the  callers.
  2743. Therefore,  SYSOPs  are free to change the text in these files to  whatever
  2744. they  desire.   Simply edit the files.   However,  be sure to use an editor
  2745. that  produces  only ASCII text files with no special embedded  characters.
  2746. Most  word processing editors are not suitable because they insert  special
  2747. symbols in the file meaningful only to it.  WordStar, in non-document mode,
  2748. is fine,  as is the Personal Editor when files are saved with no tabs,  and
  2749. the Program Editor.   Most editors used for creating computer programs  are
  2750. suitable.
  2751.  
  2752. RBBS-PC  supports three types of files,  which the caller can select  using
  2753. his  graphics preference.   A file with no graphics has only typable  text.
  2754. ASCII  graphics  means  that all 255 ASCII values display on  the  caller's
  2755. screen using the IBM PC display conventions.   This allows support for many
  2756. symbols,  such as straight lines,  a heart,  and many others.   Using these
  2757. conventions,  many fancy graphic displays are possible.   Last,  a use  can
  2758. request color graphics,  which means that the caller's monitor supports not
  2759. only the IBM display conventions but supports ANSI commands for controlling
  2760. the  monitor,  which include such things as color as well as special  modes
  2761. like  blinking.   Using ANSI commands,  it is possible to fully control the
  2762. caller's monitor.  One can go so far as to create animated pictures.
  2763.  
  2764. Menu files are known by their names.  The format is XXXXXXXY, where XXXXXXX
  2765. is the base file name and Y is a one-character addition.   Y is nothing for
  2766. no graphics,  G for ASCII graphics, and C for color graphics.  RBBS-PC will
  2767. look  for  a  file based on the users graphic preference  and  display  the
  2768. graphics version if it exists.  Otherwise, the non-graphics file is used.
  2769.  
  2770. Graphics  files have more characters in them and therefore take  longer  to
  2771. transmit.   Creating them is not easy.  However, there are special ANSI and
  2772. graphics editors which make creating such files much easier.
  2773. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2774. Copyright 1988 by D. Thomas Mack                            Page 51 of 232
  2775.  
  2776. 8.2 Subsystem Prompts Shown to Callers
  2777. --------------------------------------
  2778. RBBS-PC  has several configuration options which allow each SYSOP to select
  2779. the prompts that are presented to callers.  They are:
  2780.  
  2781. 1. Whether the section name is shown.
  2782. 2. Whether the letters of the available commands are shown.
  2783.  
  2784. The  commands  in RBBS-PC are divided  into  four  sections:   MAIN,  FILE,
  2785. UTILITY  and  LIBRARY.    Each has a set of commands in them and there  are
  2786. commands  to move between sections.   If the SYSOP elects for  the  section
  2787. name to be shown, the command line will read "<section> command", otherwise
  2788. "Your command".  The default is to show the section.
  2789.  
  2790. RBBS-PC  normally  prompts  a caller with the commands  available  in  each
  2791. section that the caller has sufficient security to invoke.  Each command is
  2792. a single letter and is shown separated from the others by a  comma.   These
  2793. command  letters  can either be suppressed or not.   By leaving them  on  a
  2794. SYSOP  provides  each  caller  with a terse but helpful  reminder  of  what
  2795. commands are available to them.
  2796.  
  2797. 8.3 Commands Available to Callers
  2798. ---------------------------------
  2799. All primary commands in RBBS-PC are invoked by single letter commands.   An
  2800. attempt  is made to associate the command with the first letter in  a  word
  2801. which  describes the function,  so that the command letter appears to be  a
  2802. short  abbreviation  for the longer word.   The command to  invoke  reading
  2803. messages is R.  The default symbols that would be shown in the command line
  2804. for each section are:
  2805.  
  2806. section|? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 2 3 4 5 6 7
  2807. -------|-------------------------------------------------------------------
  2808. MAIN   |? @ A B C D E F   H I J K       O P Q R S T   V W X   1 2 3 4 5 6 7
  2809.        |
  2810. FILE   |?         D     G H       L   N   P Q   S   U V   X
  2811.        |
  2812. UTILITY|?     B C   E F G H       L M     P Q R S T U     X
  2813.        |
  2814. LIBRARY|?   A   C D     G H       L         Q   S     V   X
  2815.        |
  2816. GLOBAL |?                 H                 Q             X
  2817.  
  2818. Four commands,  ? H Q and X, have the same meaning in every section and are
  2819. known  as "global."  The other commands all have unique  function  specific
  2820. for the section within which they are invoked.   For example, S in the main
  2821. section stands for S)can messages, but S)ubstring search in files & Library,
  2822. and S)tatistics on the board and session in utilities.   Symbols 1-7  stand
  2823. for SYSOP functions.
  2824.  
  2825. RBBS-PC allows the SYSOP to substitute any symbol for any  command.   Y)ell
  2826. may  be substituted for O)perator page,  or Y)our mail for P)ersonal  mail.
  2827. If  a blank is substituted,  the command is removed from the list and is no
  2828. longer available.   Since there is no V)iew conference command in the  main
  2829. section,  a  SYSOP may elect to disable the V)iew conference command in the
  2830. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2831. Copyright 1988 by D. Thomas Mack                            Page 52 of 232
  2832.  
  2833. main section by substituting a blank for it.
  2834.  
  2835. 8.4 RBBS-PC's "Wrap-around" Command Search
  2836. ------------------------------------------
  2837. There is a special option available in CONFIG which gives the SYSOP unusual
  2838. flexibility in configuring the user interface.   A caller is always "in"  a
  2839. section,  that  is where RBBS-PC looks for a command that the user requests
  2840. to  see whether it is a valid command.   The "wrap around" option  controls
  2841. how RBBS-PC looks further for a command when it is not found in the section
  2842. the caller is in.  If a SYSOP substitutes a blank for the V>iew  conference
  2843. command in the main section (as mentioned in section 9.3) and a user enters
  2844. the  V  command from the main section, the V>erbose ARC file  list  command
  2845. would be what the caller would have invoked.
  2846.  
  2847. The fundamental idea is to look further in other sections, where the search
  2848. order  is  MAIN->FILE->UTILITY->LIBRARY->GLOBAL->SYSOP and  the  search  is
  2849. circular, more like
  2850.  
  2851.                 ,-->- SYSOP --> MAIN -->---.
  2852.                 |                          |
  2853.                 |                          |
  2854.               GLOBAL                      FILE
  2855.                 |                          |
  2856.                 |                          |
  2857.                 `-<- LIBRARY -<- UTILITY <-'
  2858.  
  2859. The  current  section determines only where the search  starts.   If  roll-
  2860. around is used, the search will go completely around.  The real reason that
  2861. "global" commands are global is that that RBBS-PC always searches after the
  2862. library section if a command is not in the current section.  SYSOP commands
  2863. are therefore global for the same reason.
  2864.  
  2865. The  important feature that roll-around supports is that a command  with  a
  2866. unique  letter works in all sections.   Thus W)ho will work everywhere  the
  2867. same  if  roll-around  is  enabled.   THIS ALLOWS  THE  SYSOP  TO  SUPPRESS
  2868. SECTIONS.   In  effect,  by enabling roll-around and giving each command  a
  2869. unique  symbol,  all  commands  become  global and there  is  no  effective
  2870. difference between sections.  This allows SYSOPs to make commands available
  2871. on  a  single  level and makes it unnecessary to "go" to a  section  before
  2872. using a command in that section.
  2873.  
  2874. 8.5 How to Have a Single Universal Command Line
  2875. ------------------------------------------------
  2876. The  command structure within RBBS-PC can be made "flatter" without  making
  2877. it absolutely flat.  Suppose, for example, that a SYSOP wants callers to be
  2878. able to do all file functions without going to a files section.  In effect,
  2879. the  file functions are available in the main section,  or the file section
  2880. is merged into the main section.   All that is needed to do is to eliminate
  2881. the  overlap  in  command letters between the  two  sections.
  2882.  
  2883. The main section and the file section share the letters D, P, S, and V.   V
  2884. is  used  to  "view" a conference in the main section and  "view"  what  is
  2885. contained  in  an  .ARCed file.  D is difficult  because  both  D)oors  and
  2886. D)ownload  are entrenched and natural options.  One could leave D  for  the
  2887. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2888. Copyright 1988 by D. Thomas Mack                            Page 53 of 232
  2889.  
  2890. most  frequently  used  function,  say download, then  use  a  special  but
  2891. arbitrary symbol like # for doors.  Similarly, V could be left for  viewing
  2892. conference mail in the main section and a special but arbitrary symbol like
  2893. & for viewing .ARCed files in the file section.
  2894.  
  2895. S)earch  for  substrings  could be replaced by F)ind since F for  going  to
  2896. F)iles  is  not longer needed.   This could be  accomplished  by  disabling
  2897. F)iles  and  substituting  F  for  S  in  the  files  commands.   The  main
  2898. disadvantage is that experienced users will use F expecting to get into the
  2899. F)iles section and will get a confusing command.   Alienating the old users
  2900. who will try to use F would defeat the purpose of helping them by making it
  2901. unnecessary  to use F to get the file functions.   Better to leave F  alone
  2902. and use a new letter like Z for Z)ippy search.
  2903.  
  2904. P  is used for personal mail in the main section as well as personal  files
  2905. in  the file section.  Leaving P in the main section for personal mail  and
  2906. selecting  the  special (but arbitrary) symbol * for personal mail  in  the
  2907. file section would have the least impact on callers.
  2908.  
  2909. U  has  to be upload.   Note that Quit could still get  one  to  utilities.
  2910. Using Q;U we can then disable U in the main menu.   If three symbols is too
  2911. much  of an exception we could use W for W)rite user preferences  and   use
  2912. the special, but arbitrary, symbol % to find who else is on.  Then we could
  2913. revise the main menu to read
  2914.  
  2915.                       R B B S   M A I N   M E N U
  2916.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2917. -- MESSAGES --      -- SYSTEM --    - FILES -   - UTILITIES -  - ELSEWHERE -
  2918. [E]nter Message     [A]nswer survey [D]ownload  [H]elp (or ?)  [Q]uit
  2919. [K]ill Message      [B]ulletins     [L]ist      [%]Who's on    [F]iles (Q;F)
  2920. [P]ersonal Mail     [C]omment       [N]ew       [X]pert on/off [G]oodbye (Q;S)
  2921. [R]ead Messages     [#]DOORS        [*]Personal files          [W]rite user
  2922. [S]can Msg header   [I]nitial Wel   [U]pload                      preferences
  2923. [T]opic msg scan    [J]oin a conf.  [&]View ARC files             (Q;U)
  2924. [V]iew mail waiting [O]perator Page [Z]ippy search             [@]Library
  2925.  
  2926. This  menu could be re-written without any apparent sub-sections (by  using
  2927. the letter F to find who else is on) as
  2928.  
  2929.                       R B B S   M A I N   M E N U
  2930.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2931. [A]nswer survey [H]elp (or ?)     [P]ersonal mail   [U]pload a file
  2932. [B]ulletins     [I]nitial welcome [*]Personal files [V]iew conference mail
  2933. [C]omments      [J]oin conference [P]ersonal mail   [&]View ARC files
  2934. [#]DOORS        [K]ill message    [Q]uit            [W]rite user's preferences
  2935. [D]ownload      [L]ist files      [R]ead messages   [X]pert on/off
  2936. [E]nter msg     [N]ew files       [S]can messages   [Z]ippy search
  2937. [F]ind who's on [O]perator page   [T]opic msg scan  [@]Library
  2938. [G]oodby
  2939.  
  2940. Obviously the limitations of using a single section (as the more  primitive
  2941. bulletin  board  systems  do) means that the number  of  commands  must  be
  2942. restricted to either
  2943. RBBS-PC Version CPC17-1A                                    October 2, 1988
  2944. Copyright 1988 by D. Thomas Mack                            Page 54 of 232
  2945.  
  2946.    a.)  26 (letters in the alphabet), or
  2947.    b.)  36 (letters in the alphabet plus the numbers 0 through 9), or
  2948.    c.)  full "words".
  2949.  
  2950. With  this  artificial  limitation of a  single  section,  commands  become
  2951. limited  in number, cryptic, or both.  If the even more clumsy use of  full
  2952. "words"  is  chosen,  the system must slow down as it  can  no  longer  act
  2953. immediately upon seeing the first character of a command as RBBS-PC does.
  2954.  
  2955. However,  assuming that someone would actually wanted to configure  RBBS-PC
  2956. to be "flat" (i.e. have a single command line), let us continue.  In  order
  2957. not to confuse the caller by being in a section and seeing only some of the
  2958. commands we want him to use, the SYSOP could elect not to show the  section
  2959. in  the prompt (CONFIG parameter 37) and not to show the  commands  (CONFIG
  2960. parameter  38).  Callers would see simply "Your command?"  as  the  prompt.
  2961. This makes the expert mode pretty terse, but that simply means users  would
  2962. spend more time in novice mode before using expert.
  2963.  
  2964. Now  suppose  that  only  a single command line was desired  and  that  the
  2965. commands from the "Utilities" menu commands were to be added to the  above.
  2966.  
  2967. The  "global" H,  ?,  Q,  and X commands already are in the single  command
  2968. line.  M for message margin can remain unchanged since it is unique to  the
  2969. Utilities subsystem.
  2970.  
  2971. In  order to accommodate the redundancy of letters that exist by  including
  2972. the  Utilities  subsystem's commands,  the W command for the  main  message
  2973. subsystem can be re-enabled and the remote SYSOPs commands be eliminated in
  2974. order to re-use the numbers.  The Utilities subsystem commands B, C, F,  G,
  2975. L,  R,  and  S  could then be replaced by the numbers  1  through  9.   The
  2976. Utilities  subsystem  commands  T, U, E, and P could  be  replaced  by  the
  2977. commands <, >, \,  and /, respectively.
  2978.  
  2979. This  final  menu of all RBBS-PC commands could be re-written  without  any
  2980. apparent  sub-sections as follows and the screen that the would  appear  to
  2981. the "novice" users as:
  2982.  
  2983.                       R B B S  C O M M A N D S
  2984.                       ~~~~~~~~~~~~~~~~~~~~~~~~
  2985. [A]nswer survey    [O]perator page        [1] Change Baud Rate 300-->450
  2986. [B]ulletins        [*]Personal files      [2] Display time of day
  2987. [C]omments         [P]ersonal mail        [3] Set file transfer protocol
  2988. [#]DOORS           [Q]uit                 [4] Set type of graphics mode
  2989. [D]ownload         [R]ead messages        [5] Set page length
  2990. [E]nter msg        [S]can messages        [8] Review callers preferences
  2991. [G]oodbye          [T]opic msg scan       [9] Display system statistics
  2992. [H]elp (or ?)      [U]pload a file        [<] Toggle users options on/off
  2993. [I]nitial welcome  [V]iew conference mail [>] Show the log of callers
  2994. [J]oin conference  [&]View ARC files      [@] Library
  2995. [K]ill message     [W]ho's on other nodes [\] Change echo selection
  2996. [L]ist files       [X]pert on/off         [/] Change password
  2997. [M]argin set       [Z]ippy search
  2998. [N]ew files
  2999. Your command?
  3000. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3001. Copyright 1988 by D. Thomas Mack                            Page 55 of 232
  3002.  
  3003.  
  3004. 8.6 RBBS-PC'S Programmable User Interface (PUI)
  3005. -----------------------------------------------
  3006. The  programmable  user interface (PUI) lets the SYSOP take  TOTAL  CONTROL
  3007. what the caller is presented with, including
  3008.  
  3009. o     the novice menu
  3010. o     the prompt line
  3011. o     the organization of commands into groups (sections)
  3012. o     the flow between sections
  3013. o     unlimited levels of nested menus.
  3014.  
  3015. This  allows  RBBS-PC  interface  that  the caller  sees  to  take  on  any
  3016. appearance  desired by the SYSOP.  In effect, the SYSOP is limited only  by
  3017. the intrinsic functions of RBBS-PC that have been programmed into the RBBS-
  3018. PC BASIC source code.
  3019.  
  3020. These  functions  can  be  assigned  any  command  letter  desired  in  the
  3021. configuration  program.   PUI lets the SYSOP completely control  how  these
  3022. commands  are  presented  to  the user  -  allowing  RBBS-PC  to  "emulate"
  3023. virtually  any  other  host communications  environment  that  the  SYSOP's
  3024. callers may be familiar with.
  3025.  
  3026. If  no  PUI is provided, RBBS-PC defaults to dividing the commands  into  a
  3027. MAIN,  FILES, UTILITIES, and LIBRARY section.
  3028.  
  3029. RBBS-PC's  PUI gives each SYSOP the flexibility to tailor RBBS-PC  to  meet
  3030. special needs.  In effect, RBBS-PC's PUI allows the SYSOP to adjust RBBS-PC
  3031. to  what the SYSOP wants, rather than forcing the SYSOP and his callers  to
  3032. conform to RBBS-PC.
  3033.  
  3034. However,  unlike RBBS-PC, the PUI does not adjust the prompt to  show  only
  3035. the  commands  that the user's security level makes him/her  eligible  for.
  3036. And, of course, PUI takes much more time to design and implement.
  3037.  
  3038. When  the  SYSOP takes control of what the user is presented by  using  the
  3039. PUI, RBBS-PC does what the SYSOP has explicitly set up -- and nothing else!
  3040. For example, RBBS-PC's "global" commands, like help and the expert  toggle,
  3041. are no longer automatically available everywhere.  They are available  only
  3042. where the SYSOP has indicated via the PUI.
  3043.  
  3044. RBBS-PC's  default user interface has evolved over the years  to  represent
  3045. what the callers found useful (not the SYSOPs!).  A great deal of time  and
  3046. thought  went  into  RBBS-PC's default user interface, and it  is  easy  to
  3047. overlook  important  things when a SYSOP goes about setting up his  or  her
  3048. own.  When using the PUI assume that a new user interface will take time to
  3049. both  develop and refine (based on your callers feedback).   Designing  and
  3050. implementing a PUI is not a simple undertaking as it is a total replacement
  3051. for RBBS-PC's standard user interface.
  3052.  
  3053. 8.6.1 An Example Using PUI
  3054. --------------------------
  3055. The  main menu in RBBS-PC can represent a bewildering variety of  commands,
  3056. especially  to a new user.  Psychologists often say that human  beings  can
  3057. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3058. Copyright 1988 by D. Thomas Mack                            Page 56 of 232
  3059.  
  3060. effectively  deal with only at most 7 choices at one time, whereas  RBBS-PC
  3061. has  17  in its main section.  To help people out in  this  situation,  the
  3062. different  choices  in RBBS-PC are grouped into related commands,  but  the
  3063. choices  can still be overwhelming.  Some SYSOPs have therefore  wanted  to
  3064. simplify  the  main menu by breaking it up into more  sections.   The  most
  3065. tempting  group of commands to spin off are the message commands.   Suppose
  3066. the main menu is to be simplified to look like:
  3067.  
  3068.                          <F>iles
  3069.                          <M>ail
  3070.                          <U>ser preferences
  3071.                          <G>oodbye
  3072.  
  3073. The  <M>ail command in turn puts one in a section where commands  pertinent
  3074. to messages become available in yet another menu, such as J)oin and E)nter.
  3075. PUI  is required because the commands are grouped into different  sections.
  3076. While  the  default  menu  of RBBS-PC could be  edited  to  say  this,  the
  3077. underlying commands would not be grouped as desired.
  3078.  
  3079. 8.6.2 How to Implement PUI
  3080. --------------------------
  3081. First, plan carefully on paper exactly what you want the caller to see  and
  3082. what happens with each command.  Consider also, if you have a submenu,  how
  3083. users are to get out of it.
  3084.  
  3085. Each  menu  or section of PUI is controlled by a file  whose  extension  is
  3086. "PUI".   The  PUI is installed by putting a "main" PUI file whose  name  is
  3087. specified  in the configuration program.  The default is "MAIN.PUI".   Each
  3088. sub-board  in  RBBS-PC can have a different PUI system if desired.   A  PUI
  3089. file consists of exactly 10 lines, and the format is:
  3090.  
  3091.          line 1:       <name of novice menu>
  3092.          line 2:       <prompt to display>
  3093.          line 3:       <valid commands>,<corresponding RBBS-PC commands>
  3094.          line 4:       <which valid commands are menus>
  3095.          line 5:       <names of PUI's that are menus>
  3096.          line 6:       <letter of quit command>
  3097.          line 7:       <prompt for quit command>
  3098.          line 8:       <valid sub-commands of quit command>
  3099.          line 9:       <which quit commands are PUI's>
  3100.          line 10:      <names of menu PUI's in quit command>
  3101.  
  3102. The text in the lines should NOT be enclosed in quotes, except possibly the
  3103. two parts of line 3.
  3104.  
  3105. The  novice  menu is just a text file displayed to novices, just  like  the
  3106. default  menus (MENU1, MENU2, etc.).  The name can include a drive or  path
  3107. as  well as an extension.  The menu PUI's in lines 5 and 10 must be  stored
  3108. in the same drive/path as that in line 1.
  3109.  
  3110. The  prompt  to display is what all callers see when asked  for  a  choice,
  3111. including experts.  Normally this includes a brief listing of the  commands
  3112. available  along  with  a  request  for a  command.   This  prompt  is  NOT
  3113. dynamically  adjusted to reflect the security level of the  caller,  unless
  3114. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3115. Copyright 1988 by D. Thomas Mack                            Page 57 of 232
  3116.  
  3117. the  default  prompt in RBBS-PC, which removes commands the  caller  cannot
  3118. execute.
  3119.  
  3120. Each  PUI  defines a "section" of RBBS-PC (just like RBBS-PC has a  default
  3121. section of main, file, library, and utilities).  The valid commands are the
  3122. symbols  for  the acceptable commands in this PUI section.   They  must  be
  3123. upper  case  only.   The first part is the names of the commands  that  the
  3124. caller must give.   Each symbol must be mapped to a corresponding  internal
  3125. symbol name in RBBS-PC which is set in CONFIG.  This way the same letter in
  3126. a  given  menu can be used for different commands in RBBS-PC,  just as  "S"
  3127. stands for S)can messages in the main section and S)ubstring search in  the
  3128. files section.   Since the default underlying RBBS-PC commands use the same
  3129. letter  in different menus,  you should first reconfigure RBBS-PC to assign
  3130. each RBBS-PC command a different underlying symbol.   Then in the PUI  file
  3131. map  the letter you want the caller to use to that underlying  symbol.   Be
  3132. sure  in configuration NOT to limit commands to the current section  -- you
  3133. must  let RBBS-PC search in other sections for underlying commands when  it
  3134. does not find it in the current section.
  3135.  
  3136. In  addition  to the normal commands available in RBBS-PC,  the  SYSOP  can
  3137. include  new commands which invoke other menus.  These must be  symbols  in
  3138. the list of valid commands.
  3139.  
  3140. If a valid menu choice is picked, there must be a PUI file for that choice.
  3141. Line  5 tells what prefix the PUI file has.  Each PUI name must consist  of
  3142. exactly  7 positions.  The PUI name can be shorter than 7 letters,  but  in
  3143. the list you must blank fill out to 7 positions to the right.  The first  7
  3144. characters  are for the first valid menu command, the second  7  characters
  3145. are  for  the second valid menu command, etc.  RBBS-PC  will  automatically
  3146. append  the extension "PUI" to this file name.  The file name  can  include
  3147. trailing  spaces, and must if shorter than 7 characters (any blanks in  the
  3148. name will be omitted).  Note that all PUI files must be in same  drive/path
  3149. as the novice menu in line 1.
  3150.  
  3151. The  last 5 lines in the PUI file concern how control goes from one PUI  to
  3152. another.   The  PUI processing supports a "quit to" command  in  which  the
  3153. caller can jump to other menus - which one is specified in the  subcommands
  3154. to the quit command (just like RBBS-PC's "quit" to command).
  3155. Line 6 is the symbol (in the valid commands) which is the quit-to  command.
  3156. It must be a single capital letter.
  3157.  
  3158. Line  7 is the prompt for the quit-to command, to be presented  to  callers
  3159. after they select the quit-to command (type ahead is supported).
  3160.  
  3161. Line 8 is the list of the valid sub-commands of the quit-to command.   Each
  3162. command must be a capital letter.
  3163.  
  3164. Line  9 tells which of the valid subcommands are pui commands.  If  a  sub-
  3165. command  is valid but not a PUI command, control will be passed to  RBBS-PC
  3166. to  process the quit-to command.  For example, Quit-to S)ystem for  hanging
  3167. up would have to be processed this way.
  3168.  
  3169. Line  10 tells what are the names of the PUI files for each PUI command  in
  3170. line 9.  The format of the PUI names is exactly the same as in line 5 --  7
  3171. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3172. Copyright 1988 by D. Thomas Mack                            Page 58 of 232
  3173.  
  3174. characters blank filled to the right if shorter.
  3175.  
  3176. The following file MAIN.PUI installs the example that was discussed in  the
  3177. previous section:
  3178.  
  3179.                   MMENU
  3180.                   Enter choice: <F,M,U,G>
  3181.                   FGMU
  3182.                   FMU
  3183.                   FMENU   MAILM   UMENU
  3184.                   <blank line>
  3185.                   <blank line>
  3186.                   <blank line>
  3187.                   <blank line>
  3188.                   <blank line>
  3189.  
  3190. The name of the menu to be displayed initially is MMENU.  The prompt  users
  3191. will  see is "Enter choice: <F,M,U,G>?" (RBBS-PC adds the trailing "?"  for
  3192. prompts).   The  four valid commands are F, G, M, and U.   Three  of  these
  3193. commands  invoke  other menus (F, M, and U), and G is a  non-menu  command,
  3194. i.e.  one  of  the base RBBS-PC functions.  The PUI file name  for  "F"  is
  3195. FMENU.PUI,  MAILM.PUI  for "M", and UMENU.PUI for "U".  Each of  these  PUI
  3196. files  gives  the same type of information as the main PUI.   For  example,
  3197. MAILM.PUI might contain
  3198.  
  3199.                   MAILM.MNU
  3200.                   Enter choice: <E,J,P,Q,R,S,T>
  3201.                   EJPQRST
  3202.                   Q
  3203.                   MAIN
  3204.  
  3205. The novice menu for the mail section is in file MAILM.MNU.  This file might
  3206. contain the following text:
  3207.  
  3208.                     M A I L   S U B S Y S T E M
  3209.                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3210.                         E)nter a message
  3211.                         J)oin a new message base
  3212.                         P)ersonal mail (review)
  3213.                         Q)uit to main section
  3214.                         R)ead messages
  3215.                         S)can msg headers
  3216.                         T)opic msg scan
  3217.  
  3218. The  prompt will appear immediately below this line unless an  extra  blank
  3219. line is included in the menu file.  There is only one menu command:  Q  for
  3220. getting back to the main menu.
  3221.  
  3222. The  PUI  system can also be used to emulate the default  RBBS-PC  commands
  3223. with  4 sections.  Four sample files are provided for  accomplishing  this:
  3224. XMAIN.PUI,  XFILE.PUI,  XUTIL.PUI, and XLIBR.PUI.  For novice  menus,  each
  3225. uses the standard default menu that comes with RBBS-PC.   These  presuppose
  3226. that  RBBS-PC  has  been  configured with the  following  symbols  for  the
  3227. underlying RBBS-PC commands:
  3228. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3229. Copyright 1988 by D. Thomas Mack                            Page 59 of 232
  3230.  
  3231.  
  3232.     MAIN  =       normal:  ABCDEFIJKOPRSTUVW
  3233.             reconfigured:  ABC>EFIJKOPRSTU\W
  3234.     FILES   =     normal:  DGLNPSUV
  3235.             reconfigured:  DGLNYZ^V
  3236.     UTILITY =     normal:  BCEFGLMPRSTU
  3237.             reconfigured:  !#E$<&M*()-+
  3238.     GLOBAL  =     normal:  H?QX
  3239.             reconfigured:  H?QX
  3240.     SYSOP   =     normal:  1234567
  3241.             reconfigured:  1234567
  3242.     LIBRARY =     normal:  ACDGLSV
  3243.             reconfigured:  []{G}:'
  3244.  
  3245. 8.7 RBBS-PC's Support of Sub-menus
  3246. ----------------------------------
  3247. Sub-menu  support means that an item on a menu can itself be another  menu,
  3248. so  that selecting it results in a new menu being displayed from which  the
  3249. caller can select yet another option.
  3250.  
  3251. The  areas  in RBBS-PC that can have sub-menu support  include:   answering
  3252. surveys,  bulletins,  doors, joining a conference, and the  file  subsystem
  3253. command to list directories.
  3254.  
  3255. A  primary use of sub-menus is to simplify the user interface,  chiefly  by
  3256. allowing  sub-categorization of the option.  For example, suppose  a  SYSOP
  3257. has a complex system of doors, including multi-user games (TREK,  NAPOLEON,
  3258. 3DCHESS), single-user games (D&D, R&R, PICKUP), and demonstrations  (DBIII,
  3259. ORACLE, ADVENT).  These could be presented on a single menu, such as
  3260.  
  3261.    The following Doors are available:
  3262.  
  3263.    Multi-User Games
  3264.              TREK - explore the galaxy, compete with 12 other players
  3265.              NAPOLEON - be Russia, Italy, or England and fight the computer
  3266.              3DCHESS - are you ready, Spock?
  3267.    Single-User Games
  3268.              D&D - the Unix dungeons and dragons!
  3269.              R&R - welcome to Taipei, Tokoyo, or Bangkok, soldier!
  3270.              PICKUP - do you have what it takes?
  3271.    Demos - all self running
  3272.              DBIII - Special version of DB3 adopted for remote usage
  3273.              ORACLE - see the power of SQL.  Full screen if you emulate ANSI.
  3274.              ADVENT - our own home brewed ...
  3275.  
  3276. With sub-menus, the user could see a single, 3 item menu
  3277.  
  3278.             Doors are available for:
  3279.             MGAME - multi-user games
  3280.             SGAME - single-user games
  3281.             DEMO - self running demos
  3282.  
  3283. When  the caller picks one of these three, a new menu comes up  that  lists
  3284. the  particular doors for each category.  For example, after picking  MGAME
  3285. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3286. Copyright 1988 by D. Thomas Mack                            Page 60 of 232
  3287.  
  3288. the caller sees
  3289.  
  3290.                Multi-User Games available include:
  3291.  
  3292.     TREK - explore the galaxy, compete with 12 other players
  3293.     NAPOLEON - be Russia, Italy, or England and fight the computer
  3294.     3DCHESS - are you ready, Spock?
  3295.  
  3296. RBBS-PC's  sub-menu capabilities allow SYSOPs to set up  "tree-structured",
  3297. "key word" paths to options.  Bulletins provide an example where this  type
  3298. of  structure  can be very useful.  Bulletins have two main  uses:   short,
  3299. system-wide announcements, and a standard stock of text files for  policies
  3300. and procedures for a RBBS-PC.  Some SYSOPs, however, have wanted to put  up
  3301. an elaborate system of announcements, where in fact these "bulletins" are a
  3302. featured  way of presenting data to callers.  For example,  an  association
  3303. published  300 short pamphlets under a dozen categories, and wants to  make
  3304. this  information  available on-line.  Sub-menus fit this need  very  well.
  3305. The top bulletin menu could read
  3306.  
  3307.                Bulletins are available for:
  3308.  
  3309.                         NURSES - nurses
  3310.                         OB - obstetricians
  3311.                         PED - pediatricians
  3312.                         FAM - family physicians
  3313.  
  3314.                Please type in the category you want:
  3315.  
  3316. OBS, instead of being a bulletin, is a sub-menu that displays:
  3317.         The following bulletins are available for OBSTETRICIANS
  3318.         Each entry shows the length and price per glossy copy.
  3319.  
  3320.              NAT - natural childbirth, 8 pages, $3
  3321.              MIDW - midwives. 20 p., $5
  3322.              NUTRI - special nutritional needs of pregnant women, 25p, $6
  3323.              FPLAN - family planning services, 40 p, $3
  3324.              DRUG - drugs to beware when pregnant, 50 p., $5
  3325.  
  3326. When  the  caller  picks  MIDW,  the  associated  document  is   displayed.
  3327. Bulletins become a menu-driven way of selecting documents to browse.
  3328.  
  3329. There  are  four general changes to the commands when  utilizing  RBBS-PC's
  3330. "sub-menu" features.
  3331.  
  3332. First,  to get the menu displayed when in expert mode, the  caller  selects
  3333. the L)ist function.
  3334.  
  3335. Second, the menu processing routine will search for a file associated  with
  3336. the  option selected.  Bulletins and file directories will be displayed  to
  3337. the  user.   These are essentially "display" functions.   If  a  conference
  3338. exist with the name specified, RBBS-PC will attempt to join it.  If a  door
  3339. exists  AND  it is on the menu, RBBS-PC will attempt to  invoke  it.   This
  3340. means  that the option does not have to be listed explicitly in  the  menu.
  3341. Options  can be hidden from the user and still work (except for doors).   A
  3342. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3343. Copyright 1988 by D. Thomas Mack                            Page 61 of 232
  3344.  
  3345. "secret"  conference can be available only if the caller already knows  the
  3346. name.
  3347.  
  3348. Third, the prompt is more standardized.
  3349.  
  3350. Fourth, the standard way to get out of the menu is just to press [ENTER].
  3351.  
  3352. The bulletins function has been generalized so that bulletins can use names
  3353. and  not just numbers.  For example, selecting "B" as the bulletin  prefix,
  3354. the  above bulletins would be files BNAT, BMIDW, BNUTRI, BFLAN, and  BDRUG.
  3355. However,  the search for new bulletins works properly only if  numbers  are
  3356. used  to name bulletins, and the prompt for bulletins simply asks  for  the
  3357. bulletin and does not mention any numbers.
  3358.  
  3359. 8.7.1 How to Implement Sub-menus
  3360. --------------------------------
  3361. If "XXX" is an option on a menu, simply create a file named "XXX.MNU"  that
  3362. has  in it the text for the menu.  Put this file in the same drive/path  as
  3363. the  non-menu options (e.g. where the "BAT" files go for doors,  where  the
  3364. bulletin  files  to display are put, where the directory files  are).   For
  3365. example,  if  "B"  is  the bulletin prefix,  the  above  example  would  be
  3366. implemented  by adding the files "BNURSE.MNU", "BOB.MNU",  "BPED.MNU",  and
  3367. "BFAM.MNU".   Put  these  files  on  the  same  drive  that  the  bulletins
  3368. themselves go.
  3369.  
  3370. Callers can list any menu at any time as long as the menu they wish to list
  3371. has the qualifier "MNU".  For those menus that the CONFIG utility does  not
  3372. allow  the SYSOP to enter a qualifier, the SYSOP can use an editor to  edit
  3373. the .DEF file and add a qualifier directly.
  3374.  
  3375. 8.8  RBBS-PC's "Macro" Command Support
  3376. --------------------------------------
  3377. RBBS-PC's  "macro"  support  expands  a  single  keystroke  into   multiple
  3378. keystrokes.  It allows RBBS-PC to be tailored in even a greater variety  of
  3379. ways  than  before  because  a single command can be set  up  to  invoke  a
  3380. sequence  of  multiple RBBS-PC commands.  The concept is  similar  to  that
  3381. pioneered  by Prokey, except that in RBBS-PC the SYSOP defines  the  macros
  3382. and the caller invokes them transparently without knowing.
  3383.  
  3384. Macros are an extension of the effort in RBBS-PC  to give the SYSOP control
  3385. over  the  user  interface.   RBBS-PC allows the SYSOP  to  substitute  any
  3386. letter  for any command, to group the commands in any way desired,  and  to
  3387. have unlimited submenus.  Macros give the SYSOPs the ability to create  and
  3388. mold  their  RBBS-PC into an unlimited variation  of  commands.   RBBS-PC's
  3389. "macro"  command  facilities frees every SYSOP from having  to  impose  the
  3390. rigid  and  inflexible command structure on their callers that  other  more
  3391. limited PC-based bulletin board systems impose.
  3392.  
  3393. Macros  add a new dimension to RBBS-PC commands -- commands can be  a  full
  3394. word rather than just a single letter.  A macro is invoked by a name up  to
  3395. 8  symbols.   For example, "DOOR" and "OPEN" can be used to  invoke  doors.
  3396. This  makes it easy to make all commands available on a single level.   For
  3397. example,  the  otherwise  irreconcilable conflict  between  "Download"  and
  3398. "Door" can be resolved by using the full word "DOOR" for doors.
  3399. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3400. Copyright 1988 by D. Thomas Mack                            Page 62 of 232
  3401.  
  3402.  
  3403. Macros can be used to abbreviate a longer series of commands. If the  SYSOP
  3404. wants  to use "A)bandon conference", all that need be done is is to  add  a
  3405. macro called "A" whose content is "J M" (join main).  Or if N)etmail is  to
  3406. be used to read Fido-net compatible message bases, a macro called "N" could
  3407. be  set  up  as "D NETMAIL" (use door called  NETMAIL).   Since  doors  are
  3408. unlimited in nature, RBBS-PC thus can have UNLIMITED commands.
  3409.  
  3410. A  string of RBBS-PC commands can be stored in a macro for  many  different
  3411. types of purposes, including (but not limited to)
  3412.  
  3413.    setting up demos, or
  3414.    showing a suer what to do rather than just explaining it in words, or
  3415.    automting testing when doing RBBS-PC development, or
  3416.    automating a check-out of all of the RBBS-PC functions.
  3417.  
  3418. Macros can also be used to make the same type of unction do different work.
  3419. For example, the B)ulletin command basically displays a text file.  Suppose
  3420. an  association wants to let persons order pamphlets and preview  them  on-
  3421. line.  Rather than bury the ordering function insider A)nswer questionnaire
  3422. and the preview function inside B)ulletins, the commands PREVIES and  ORDER
  3423. can be added as macros, where ORDER stands for "A ORDWHAT" AND "ORDWHAT" is
  3424. a  submenu listing what all can be ordered, and each option on the  submenu
  3425. is a questionnaire.  PREVIEW similarly is "B PREWHAT" where "PREWHAT" is  a
  3426. submenu listing the available pamphlets they are stored as text files.
  3427.  
  3428. Macros have security levels built into them to control access, just
  3429. like regular commands.
  3430.  
  3431. Macros  are  not memory resident and cannot be  invoked  everywhere  inside
  3432. RBBS-PC.  They are supported in only two contexts:
  3433.  
  3434.    1.)  the general command line prompt, and
  3435.    2.)  the programmable user interface.
  3436.  
  3437. Macro  commands with more than one letter override all others.  This  means
  3438. that the macro interpretation will prevail if more than one interpretation
  3439. is  possible.   For example, in the absence of macros  the  command  "door"
  3440. would  the  interpreted as the command "d", so that saying  "door"  in  the
  3441. files  section  would  be download.  But a  "DOOR.MCR"  would  be  executed
  3442. instead  when  it exists.  One letter commands, however, will  be  executed
  3443. when  they match a command letter, and so any macros will be  ignored  that
  3444. have the same one letter name the same as a command.
  3445.  
  3446. The  first  line in a macro simply REPLACES the macro  name  and  therefore
  3447. operates  in its place.   If PREVIEW is typed in and the first line is  "B"
  3448. for bulletins, then "B" will replace "PREVIEW" and the command will proceed
  3449. exactly as if "B" has been typed instead of "PREVIEW".
  3450.  
  3451. Subsequent lines in a macro are stored in a buffer and read off as it  they
  3452. were  typed.    Realize that in reading everything is read in a line  at  a
  3453. time, i.e. up to a carriage return.
  3454. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3455. Copyright 1988 by D. Thomas Mack                            Page 63 of 232
  3456.  
  3457. Two configuration parameters must be specified:  the drive/path where macro
  3458. files are stored and the extension the macro files will have.  The  default
  3459. names are "C:" and "MCR".  To create a macro named X, simply create a  file
  3460. with prefix X and the macro extension and place in it the macro drive/path.
  3461.  
  3462. The  first  line of a macro must be the minimum security level to  use  the
  3463. macro.    The macro will simply be ignored if the caller  has  insufficient
  3464. security.  The second line will be parsed and replace the macro name.   The
  3465. remaining lines will be placed in the stack and will be read
  3466. in as if typed.
  3467.  
  3468. Suppose A)bandon conference is to be implemented in RBBS-PC.   To do  this,
  3469. the  command  A)nswer questionnaires must be assigned a  different  letter.
  3470. Else A will always invoke answer instead.   Then the macro file could
  3471. contain
  3472.           5
  3473.           J M
  3474.  
  3475. The  command "A" will then be followed by "Rejoining MAIN".   Incidentally,
  3476. if the macro had been implemented by
  3477.  
  3478.           5
  3479.           J
  3480.           M
  3481.  
  3482. The only difference is that the prompt for what conference to join will  be
  3483. displayed,  "M" then would be displayed as if the caller had typed it,  and
  3484. then main would be rejoined.  The difference is caused by the fact that the
  3485. first line after the security level is what replaces the macro name, so  in
  3486. the first case "M" pre-empts the prompt but not in the second.
  3487.  
  3488. 8.9 RBBS-PC's "Smart" Text Files
  3489. --------------------------------
  3490. RBBS-PC's lets the SYSOP "personalize" such text files as MENUS, Bulletins,
  3491. Help, and Welcome files.  This allows the SYSOP to present to each caller
  3492. an interface that is not only "programmable", as discussed in section 8.6,
  3493. but also tailored to the specific caller.
  3494.  
  3495. To utilize RBBS-PC's "smart" text files, CONFIG parameter 17 must be set to
  3496. the  decimal value of a delineation character that the text editor used  by
  3497. the  SYSOP  can  handle.   The  character  you  select  should  have  three
  3498. characteristics:
  3499.  
  3500.      1.)  It should be visible on the screen and when printed.  This allows
  3501.           the SYSOP to see where the control sequence is when designing the
  3502.           text files to be used as "smart" text files.
  3503.  
  3504.      2.)  It  should not be a character that might be used  for  any  other
  3505.           purpose in the text files.
  3506.  
  3507.      3.)  It  should  not be a character that might  be  interpreted,  when
  3508.           printed, as being a printer command (i.e. start double spacing).
  3509.  
  3510. Some may like to use characters created by simultaneously pressing two keys
  3511. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3512. Copyright 1988 by D. Thomas Mack                            Page 64 of 232
  3513.  
  3514. such  as  the  "Ctrl"  and "N" keys to create  a  character  whose  decimal
  3515. representation  is  14.  Others may wish to use such  seldom  used,  single
  3516. keystroke characters as:
  3517.                             Character   Decimal
  3518.                                          Value
  3519.                                @          64
  3520.                                ^          94
  3521.                                ~         126
  3522.                                {         123   <--- Default used by RBBS-PC
  3523.                                }         125
  3524.                                |         124
  3525.  
  3526. CONFIG  parameter  17  can  have any value between 0  and  255.   If  0  is
  3527. selected, RBBS-PC's "smart" text capability will be turned off.
  3528.  
  3529. A  RBBS-PC "smart" text control sequence consists of the control  character
  3530. that was selected in CONFIG parameter 17 followed by a "smart" text double-
  3531. character  command.  These "smart" text double-character commands  MUST  be
  3532. entered  as  upper  case characters!   The  "smart"  text  double-character
  3533. commands are:
  3534.  
  3535. COMMAND                 MEANING
  3536.  
  3537.   BD    Displays the bytes downloaded today.
  3538.   CS    Overrides  RBBS-PC's automatic screen depth management so that  the
  3539.         next "PRESS ENTER TO CONTINUE" will not come halfway through a page.
  3540.   C0    Resets color to the user's selection for text.
  3541.   C1    Changes color to the user's selection for Foreground Color One.
  3542.   C2    Changes color to the user's selection for Foreground Color Two.
  3543.   C3    Changes color to the user's selection for Foreground Color Three.
  3544.   C4    Changes color to the user's selection for Foreground Color Four.
  3545.   DB    Inserts the total number of bytes ever downloaded by the caller.
  3546.   DD    Inserts the total number of files downloaded by the caller today.
  3547.   DL    Inserts the total number of files ever downloaded by the caller.
  3548.   DT    Inserts the current date, MM-DD-YYYY, into the text file.
  3549.   FN    Inserts the user's FIRST NAME (in caps) into the text file.
  3550.   LN    Inserts the user's LAST NAME (in caps) into the text file.
  3551.   NS    This  causes the rest of the current file to be displayed in  RBBS-
  3552.         PC's "none stop" mode.  Page breaks will be ignored following a  NS
  3553.         command.
  3554.   PB    Causes RBBS-PC page break message, "MORE (Y/N/NS/A)" or the  "PRESS
  3555.         ENTER.." prompt to appear after the line is printed.
  3556.   RP    Inserts the number of days in the registration period.
  3557.   RR    Displays the days remaining in the caller's registration period.
  3558.   SL    Inserts the user's current security level into the text file.
  3559.   TM    Inserts the time (hh:mm AM/PM) into the text file.
  3560.   TE    Inserts the user's elapsed session time (hh:mm) into the text file.
  3561.   TR    Inserts  the number of minutes left in the user's session into  the
  3562.         text file.
  3563.   UB    Displays the total number of bytes ever uploaded by the user.
  3564.   UL    Displays the total number of file ever uploaded by the user.
  3565.  
  3566. When designing "smart" text files, each SYSOP should take into account that
  3567. the  some  of  the  "smart"  text  commands  (i.e.  the  user's  name)  may
  3568. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3569. Copyright 1988 by D. Thomas Mack                            Page 65 of 232
  3570.  
  3571. significantly extend the length of a line .  It is important that this line
  3572. elongation  be  taken  into consideration so that,  when  the  actual  text
  3573. substitution  occurs,  the  line  seen by the caller  does  not  exceed  80
  3574. characters.
  3575.  
  3576. What follows is an example of a "smart" text file that demonstrates how all
  3577. of  the above commands might be used.  The following example  assumes  that
  3578. CONFIG  parameter 17 has been set to the decimal value 123 for the  "smart"
  3579. text delineation character -- {.
  3580.  
  3581.                          INTRODUCING SMART TEXT!
  3582.  
  3583.          RBBS-PC allows the SYSOP to customize the text seen by
  3584.          each caller.  For instance, if the SYSOP wanted to make
  3585.          sure this message didn't scroll off the screen, he could
  3586.          pause the display like this:{PB
  3587.  
  3588.          Or, the SYSOP may want to show the caller that today's
  3589.          date is {DT and the time is {TM.  The SYSOP may even
  3590.          want to include a personal greeting to
  3591.          {FN {LN.
  3592.  
  3593.          The SYSOP can tell the caller that their security level
  3594.          is {SL and that they have been on-line for {TE, and have
  3595.          {TR minutes left in this session.
  3596.  
  3597. This  kind  of  capability illustrates  RBBS-PC's  on-going  commitment  to
  3598. nurturing each SYSOP's creativity and avoiding the dogmatic.
  3599.  
  3600. 8.10 "Colorizing" the RBBS-PC User Interface
  3601. --------------------------------------------
  3602. "Colorization" refers to the utilization of color within RBBS-PC text files
  3603. and prompts.  RBBS-PC has long supported graphics versions of external text
  3604. files,  and  is  even distributed with graphics  menus.   RBBS-PC  supports
  3605. "colorization" as follows:
  3606.  
  3607.  1.) In files shown to the callers including:
  3608.                All menus,
  3609.                All bulletins,
  3610.                The Welcome file,
  3611.                The file for new users,
  3612.                All on-line help files,
  3613.                Standard file directories, and
  3614.                FMS file directories (see item 6).
  3615.  
  3616.  2.) Via highlighted text
  3617.                in searches of messages,
  3618.                in searches of files,
  3619.                in announcing new personal mail waiting,
  3620.                for locked out users, and
  3621.                the SYSOP user maintenance (function 5).
  3622.  
  3623.      Highlighting  supports  a  limited but  extremely  functional  use  of
  3624.      colorization - to make it easy for the caller to spot significant bits
  3625. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3626. Copyright 1988 by D. Thomas Mack                            Page 66 of 232
  3627.  
  3628.      of text on a screen.
  3629.  
  3630.  3.) Within the Programmable user interface (PUI).
  3631.      The  PUI  file can have graphics versions just like text  files.   The
  3632.      file XMAIN.PUI that was used in the example in section 8.6.2. can have
  3633.      a  graphic's equivalent named XMAING.PUI and a color equivalent  named
  3634.      XMAINC.PUI.  Color codes can be embedded in the prompts in the PUI  as
  3635.      well as external text files.  Each SYSOP has total freedom to colorize
  3636.      prompts as well as menus.
  3637.  
  3638.  4.) Within text internal to RBBS-PC.
  3639.      This  applies to standard (non-PUI) prompts, such as the main  command
  3640.      prompt,  and to formatted reports, like the message scan  and  message
  3641.      read.    This  type  of  "colorization"  is  controlled   by   whether
  3642.      highlighting has been turned on in CONFIG.
  3643.  
  3644.  5.) Within RBBS-PC's "short" prompts.
  3645.      Caller  foreground color 4 is used to mark the commands the  user  can
  3646.      type.   Emphasis  is  used  to  mark  the  default  selection.    This
  3647.      colorization is based on a scan of the text to be printed:
  3648.  
  3649.           [...] : will be highlighted (default answer)
  3650.           xxx)  : will be put in foreground color 4 (text to type in): if xxx
  3651.                   is not longer than 2 characters and is in caps
  3652.           <...> : will be put in foreground color 4 (collective choices) and
  3653.                   if there are words before this, 1st will use foreground 1 and
  3654.                   second foreground 2.
  3655.  
  3656.      "Short" prompts colorization applies to ALL text displayed by  RBBS-PC
  3657.      before  an  answer  is  expected.  For example,  by  using  the  above
  3658.      conventions,  questionnaires can be colorized.  This is controlled  by
  3659.      whether highlighting is on.
  3660.  
  3661.  6.) Within FMS file directories.
  3662.      The  "colorization" of the FMS file directories is based on  the  four
  3663.      colors  specified  in CONFIG and is controlled by whether or  not  the
  3664.      caller has selected to be in color graphics mode or not.
  3665.  
  3666. There  are two extremes on the use of color -- use none or use  everywhere.
  3667. By using no colorization, RBBS-PC's performance is optimized.  RBBS-PC does
  3668. not  have to go through the overhead  of transmitting special  instructions
  3669. to  control  the  caller's screen.  The two chief  functions  of  boards  -
  3670. transmission of textual information and file exchange - do not  essentially
  3671. involve  the use of color.  Thus "colorization" is at best dispensable  and
  3672. at worse degrades the performance of these essential functions.
  3673.  
  3674. Of  course,  there are those who want their RBBS-PC's  visual  displays  to
  3675. convey as much as the text or the files themselves (i.e. the message is  in
  3676. the  medium).   These are the SYSOPs would elect to use  color  everywhere.
  3677. Color  is  largely used to group related information on the  screen,  where
  3678. everything  has a color.  With the use of color, plain text begins to  look
  3679. drab and uninteresting and attention tends to focus on the colorized  text.
  3680. For this reason, some SYSOPs find it difficult to use color in some  places
  3681. and not in others.
  3682. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3683. Copyright 1988 by D. Thomas Mack                            Page 67 of 232
  3684.  
  3685.  
  3686. If  "colorization" is activated everywhere within RBBS-PC it is  imperative
  3687. that  the  PRELOG or WELCOME file inform callers to execute  the  G)raphics
  3688. command.  RBBS-PC's default is to use "colorization" for internal  prompts.
  3689. The G)raphics command ask users:
  3690.  
  3691.           1.)  If they want graphics versions of text files,
  3692.           2.)  Whether the caller wants prompts colorized,
  3693.           3.)  What color the caller wants for normal text, and
  3694.           4.)  Whether normal text should be bold or normal in intensity.
  3695.  
  3696. To Implement "colorization" within RBBS-PC, run CONFIG and go to screen  17
  3697. of the CONFIG parameters -- "RBBS-PC Color Parameters".
  3698.  
  3699.  1.) Use CONFIG's parameter 321 to put in a string for for turning EMPHASIS
  3700.      on.   The  recommendation  is a bright foreground  on  red  background
  3701.      ("[27][1;41m").
  3702.  
  3703.  2.) Use CONFIG's parameter 322 to set the string for normal text.  This is
  3704.      the  general  default  color and is used to turn  off  emphasis.   The
  3705.      recommended color is amber (normal yellow) ("[27][0;33m").
  3706.  
  3707.  3.) Use parameter 323, parameter 324, parameter 325, and parameter 326  of
  3708.      CONFIG to set the four caller foreground colors.  CONFIG uses  natural
  3709.      language   phrases   to  set  these,  so  it  is   very   easy.    The
  3710.      recommendation, in order, is:
  3711.                     bright green,
  3712.                     bright yellow,
  3713.                     bright purple, and
  3714.                     bright cyan.
  3715.      These  colors are all used in the message header and  general  command
  3716.      prompt.   Foreground  4 is used to highlight the commands  the  caller
  3717.      actually needs to type in to select that option.
  3718.  
  3719. No  colors will be displayed if these parameters are set to empty  strings.
  3720. Callers  can turn off the colorization simply by going into  Utilities  and
  3721. T)oggle H)ighlite to "off".   The default in RBBS-PC is for colorization to
  3722. be OFF.
  3723.  
  3724. Colorization  is  based on the ANSI standard.   Special codes are  sent  by
  3725. RBBS-PC  to  the  callers system, which must then  be  interpreted  by  the
  3726. caller's communications software.
  3727.  
  3728. CONFIG  lets the SYSOP set the strings to turn color emphasis on  and  off.
  3729. Inside  the  PUI and external text files, the SYSOP must use an  editor  to
  3730. create graphics files.   There are special graphics editors, like  THEDRAW,
  3731. or a SYSOP who knows the codes to embed can use an ordinary text editor.
  3732.  
  3733. The  reason that colorization cannot be used with FMS directories  is  that
  3734. adding  in color codes changes the length of the lines and  shifts  columns
  3735. from the position RBBS-PC expects the file to be in.  However, color  codes
  3736. can be embedded in free text files in an FMS.  It is important to  remember
  3737. to keep each line within an FMS a fixed length.
  3738. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3739. Copyright 1988 by D. Thomas Mack                            Page 68 of 232
  3740.  
  3741. 8.11 RBBS-PC's Automatic Operator Page Option
  3742. ---------------------------------------------
  3743. RBBS-PC will "automatically page" the SYSOP whenever a specified caller  or
  3744. group of callers logs on to RBBS-PC or joins a specific "conference"  (i.e.
  3745. "sub-board").  The selection criteria be a specific caller's name, a  range
  3746. of security levels, or whether the caller is a new user.  A SYSOP may  wish
  3747. to be notified for any number of reasons including:
  3748.  
  3749.      The  SYSOP wants to chat with caller or that caller has  been  causing
  3750.           trouble on the bulletin board and needs to be monitored,
  3751.  
  3752.      The  SYSOP  wants, for security reasons, to be notified  when  anybody
  3753.           logs on with a SYSOP security level.
  3754.  
  3755.      The SYSOP wants to chat with a friend but does not want to continually
  3756.           monitor RBBS-PC's activity.
  3757.  
  3758. Automatic  paging  of  the  SYSOP is controlled by a  file  whose  name  is
  3759. specified in CONFIG parameter 18 (the default name is AUTOPAGE.DEF).   This
  3760. file contains 4 parameters separated by commas.   The format is
  3761.  
  3762.     <condition>,<notify caller?>,<# of times>,<music>
  3763.  
  3764. <condition>    can be a NAME enclosed in quotes, the string "NEWUSER", or a
  3765.                security level range specified in the format
  3766.  
  3767.                   /<min sec>/<max sec>
  3768.                where:
  3769.                        <min sec> is the minimum security level to include
  3770.                        <max sec> is the maximum security level to include
  3771. <notify caller?> is "N" if the caller is to also be notified that the SYSOP
  3772.                wants  to  be automatically paged when the caller  logs  on.
  3773.                Anything else means the caller will not know that the  SYSOP
  3774.                has been paged automatically.
  3775.  
  3776. <# of times>   is the number of times that the  PC's  speaker  will  be
  3777.                sounded.
  3778.  
  3779. <music>       is what is to be played each time the speaker is sounded.  If
  3780.                nothing is specified, a beep will be used.
  3781.  
  3782. Examples:
  3783.  
  3784. "SEXY  DEVIL",,3,DEL2CL4EDC  means to automatically page the SYSOP  when  a
  3785.                               caller  named  SEXY  DEVIL logs  on,  not  to
  3786.                               notify  the  caller, and to  page  the  SYSOP
  3787.                               three times playing "DEL2CL4EDC" each time.
  3788.  
  3789. "GREGG SNYDER",N,2,        means to automatically page the SYSOP when GREGG
  3790.                               SNYDER logs on, to notify the caller, and  to
  3791.                               beep the SYSOP twice.
  3792.  
  3793. "NEWUSER",,1,               means to automatically page the SYSOP when  any
  3794.                               new caller logs on, not to notify the caller,
  3795. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3796. Copyright 1988 by D. Thomas Mack                            Page 69 of 232
  3797.  
  3798.                               and to page the SYSOP once.
  3799.  
  3800. /10/12,N,3,               means to automatically page the SYSOP when anyone
  3801.                               with  security 10 through 12  inclusive  logs
  3802.                               on, to let them know that the SYSOP wants  to
  3803.                               be notified that they are on, and to beep the
  3804.                               SYSOP twice.
  3805.  
  3806. The status line at the bottom of the screen will read "Autopaged!" if RBBS-
  3807. PC  has automatically paged the SYSOP.  This allows the SYSOP to know  that
  3808. the  automatic  page took place, even if the SYSOP was not present  at  the
  3809. beginning of the call.  The following is a sample AUTOPAGE.DEF:
  3810.  
  3811. "SEXY DEVIL",,5,DEL2CL4EDC
  3812. "GREGG SNYDER",N,2,
  3813. "NEWUSER",,1,
  3814. "/10/12",N,3,
  3815. If more than one condition will trigger the automatic paging of the  SYSOP,
  3816. the first condition encountered will be used.
  3817.  
  3818. Since  the  AUTOPAGE.DEF file can be different for  each  "sub-board",  the
  3819. SYSOP has the option to be automatically paged based on different  criteria
  3820. for each "sub-board".
  3821.  
  3822.  
  3823. 9.  PLANNING ON HOW TO UNIQUELY IDENTIFY YOUR CALLERS
  3824. -----------------------------------------------------
  3825. All callers need a way to identify themselves and to re-identify themselves
  3826. on subsequent calls so that they can,  for example, read the mail addressed
  3827. to  them.   RBBS-PC  expects  each caller to set a password so  that  other
  3828. callers cannot easily pretend to be that caller.   Callers are most  easily
  3829. known  on bulletin boards the same way they are known in real life  - which
  3830. is  usually by first and last name.   This is why the default configuration
  3831. in RBBS-PC uses first and last name to IDENTIFY users.  The first/last name
  3832. is the callers identify or ID.
  3833.  
  3834. RBBS-PC  also  allows the SYSOP to identify callers uniquely  by  something
  3835. other than their first and last names.  Perhaps the SYSOP wants a one  word
  3836. alias like AVENGER to be allowed or perhaps callers must use a  preassigned
  3837. access code (access code, employee number, account number, etc.).   RBBS-PC
  3838. allows  ANY  FIELD  inside the users file to be  used  for  identification.
  3839. Since  there  are empty, unused areas in the user file, a  SYSOP  can  even
  3840. CREATE A NEW FIELD to be used for caller identification.
  3841.  
  3842. When  anything  other than name is used to identify  users,  RBBS-PC  still
  3843. wants  callers  to  specify  their  names.   It  just  does  not  use  that
  3844. information to identify them.
  3845.  
  3846. A fairly common problem on bulletin board systems with large user lists  is
  3847. that two callers can have the same first and last name.  A caller discovers
  3848. this when they are unexpectedly asked for a password on the first call to a
  3849. new  system,  indicating  that another caller has already used  that  name.
  3850. Further,  since  RBBS-PC  is  used  world-wide  many  non-English  speaking
  3851. countries (i.e.  in Europe,  South America, the Far East) have callers with
  3852. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3853. Copyright 1988 by D. Thomas Mack                            Page 70 of 232
  3854.  
  3855. names  that have embedded blanks,  etc.   RBBS-PC alleviates  this  problem
  3856. by  allowing interior blanks in first and last names.   Thus JIM JONES  can
  3857. register as JIM K JONES or JIM JONES SR or JIM JONES III.
  3858.  
  3859. By  allowing  ANY  field  inside the user record to  be  used  to  uniquely
  3860. identify individual callers, RBBS-PC alleviates the basic problem of having
  3861. two callers with the same name.
  3862.  
  3863. This additional INDIVIDUATION field is used to distinguish callers with the
  3864. same ID.   The way this works is that callers will have to specify both the
  3865. identifying  and  individuation field and both are used to match record  in
  3866. the  users  file.   This individuation field can likewise be  a  new  field
  3867. created by the SYSOP.   For example,  the SYSOP can specify that callers be
  3868. uniquely identified by both their name and their CITY/STATE.  Alternatively
  3869. the  SYSOP can specify that callers are to be uniquely identified by  their
  3870. telephone number, which would be a new field for RBBS-PC to store.
  3871.  
  3872. 9.1  How to Set Up Identifying and Individuation Fields
  3873. --------------------------------------------------------
  3874. The  identifying  and  individuation fields in RBBS-PC  are  controlled  by
  3875. parameter  41, parameter 42, parameter 43, parameter 44, parameter 45,  and
  3876. parameter 46 in CONFIG.  The default is to use the caller's first and  last
  3877. name to uniquely identify a user.
  3878.  
  3879. The fields available to uniquely identify a caller (other than the caller's
  3880. first  and last name) are designated in CONFIG by  the starting position in
  3881. the  users file and length.   It is essential therefore to understand WHERE
  3882. FIELDS  ARE STORED IN THE USER FILE.   Consult Appendix A for the  detailed
  3883. layout of the user file.
  3884.  
  3885. RBBS-PC's  flexibility requires caution to be exercised when selecting  the
  3886. locations  of fields used to identify and individuate,  because options can
  3887. be selected that make no sense.  For example, it is possible to specify the
  3888. user  preference  field,  which  means  that  every  time  a  user  changed
  3889. preferences,  such as default protocol,  the user would become a  different
  3890. user.
  3891.  
  3892. There  are only two fields in the user file that make sense for identifying
  3893. users:
  3894.  
  3895.     1.)  first/last name (column positions 1-31),  or
  3896.     2.)  a field designated by you as the SYSOP for your RBBS-PC.
  3897.          For a SYSOP-designated field,  only 4 choices make sense:
  3898.            a.)  none,
  3899.            b.)  name (columns  1-31),
  3900.            c.)  city/state (columns 63-86),  or
  3901.            d.)  positions 87-97 in the user record currently "unused."
  3902.  
  3903. Positions 87-97 of the users file currently unused provides a potential  11
  3904. columns to use for special, SYSOP designated fields.  However, there is  no
  3905. guarantee that these positions will not be used in later releases of  RBBS-
  3906. PC.   Additional  fields  will  be used from  the  far  right.   Any  SYSOP
  3907. intending  to utilize this area of the users record is safest if the  field
  3908. selected  begins in column 87 and is as short as possible.  The shorter  it
  3909. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3910. Copyright 1988 by D. Thomas Mack                            Page 71 of 232
  3911.  
  3912. is, the more likely there will be room in later releases.  For example,  11
  3913. columns  might  be used for telephone number (format  123-1234567).   Or  5
  3914. columns might be used for account number.
  3915.  
  3916. When  a special field is created,  the SYSOP must also supply the prompt to
  3917. be used with the field, since RBBS-PC has no way of knowing how to describe
  3918. the field to a caller.   The prompt is what is displayed to the caller when
  3919. asking for the value of the field.
  3920.  
  3921. RBBS-PC uses the callers first and last name for the "to" and "from" fields
  3922. for  messages  even when the users name is not the field used  to  uniquely
  3923. identify callers.
  3924.  
  3925. 9.2  PRELOADING IDENTITIES FOR INSTANT ACCESS
  3926. ----------------------------------------------
  3927. SYSOPs  that operate bulletin boards that are open to new callers  have  no
  3928. problems  giving a new caller instant access --  new callers register,  set
  3929. their identity and password, and are immediately on.
  3930.  
  3931. SYSOPs   that  operate   bulletin  boards  that  are  only   available   by
  3932. subscription  or  who  delay  access operate differently  --  a  user  must
  3933. already know and be able to state identity,  individuation, and password in
  3934. order  to get on.   To add a new user,  the values of these fields must  be
  3935. communicated  back  to  the caller in order for them to  have  access.   To
  3936. overcome  this cumbersome approach,  some SYSOPs allow new callers on their
  3937. system (albeit at a security level so low that the caller can do little, if
  3938. anything) and simply raise the security level of the caller once the caller
  3939. has met whatever criteria the SYSOP has set for access to the system.
  3940.  
  3941. Typically  new callers must call back and continue to check to see if their
  3942. security  level has been raised.   Systems that do not let new  callers  on
  3943. require  the SYSOP to enter the appropriate information for each new  user,
  3944. contact  the new caller by mail or phone,  and let them know how to get on.
  3945. Both  approaches  introduce  delays  to new  callers  for  getting  on  and
  3946. additional time, expense and overhead for the SYSOP.
  3947.  
  3948. RBBS-PC provides a systematic solution to the problem of delayed access for
  3949. new user!  A SYSOP can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD
  3950. OR PASSWORD.  These fields can be left blank.  When a caller logs on with a
  3951. proper  ID  and  RBBS-PC finds an individuation value or password  that  is
  3952. blank, it lets the caller set the value of those fields without requiring a
  3953. match.   Subsequent calls,  but not the first, must match the value set for
  3954. individuation and password.
  3955.  
  3956. Even though a SYSOP can add a user and leave the password and individuation
  3957. blank,  this still requires that the SYSOP add the user only after an ID is
  3958. agreed  to by both parties.   What if this access is still not fast enough?
  3959. The  solution  provided by RBBS-PC is for the SYSOP to "pre-load"  IDs  and
  3960. give  out  a pre-loaded ID to the caller for instant access,  so  that  the
  3961. client does not have to wait even for the SYSOP to add the ID.  Since there
  3962. is  no way to set in advance how a user wants to be identified,  the  SYSOP
  3963. can set up essentially random account IDs which are difficult to guess  and
  3964. give these out.
  3965. RBBS-PC Version CPC17-1A                                    October 2, 1988
  3966. Copyright 1988 by D. Thomas Mack                            Page 72 of 232
  3967.  
  3968. Callers  willing to charge subscription fees on their credit cards over the
  3969. telephone  can  be given a valid pre-loaded ID  for  instant  access.   The
  3970. ability  of RBBS-PC to use any field for an ID,  and let the first call set
  3971. individuation  and password,  means that RBBS-PC can support  boards  where
  3972. instant access is a critical part of their service.
  3973.  
  3974. 10.   RBBS-PC's AUTOMATIC SUBSCRIPTION AND TIME  MANAGEMENT SYSTEM
  3975. ------------------------------------------------------------------
  3976. RBBS-PC  has support built into it for managing access based on the date of
  3977. the  call  and the time of day.  As with the other RBBS-PC  features,  this
  3978. support is optional.  The primary uses of this facility are
  3979.  
  3980. 1.  to make it very easy to control access based on subscription dates.
  3981. 2.  to give callers a temporary, date limited boost in privileges.
  3982. 3.  to vary the amount of time that a call can have for a session
  3983.     based on the time of day.
  3984.  
  3985. The subscription management system dramatically reduces the work  necessary
  3986. for  subscription maintenance.   After a user is registered,  RBBS-PC  will
  3987. AUTOMATICALLY
  3988.  
  3989. 1.  warn users before their subscription expires
  3990. 2.  reduce the security of callers whose subscription has expired.
  3991.  
  3992. In  effect,  a subscription RBBS-PC can be left on "automatic" pilot and it
  3993. will operate correctly, without additional effort on the SYSOP's part.
  3994.  
  3995. The  subscription  and  time management system can also be  used  to  grant
  3996. callers a temporary boost in privileges.  For example, giving new callers a
  3997. "free" trial period.
  3998.  
  3999. Just  as  cable TV channels that sometimes have a free week of  viewing  to
  4000. attract new subscribers by letting them know what they are missing, a SYSOP
  4001. of  a subscription RBBS-PC can set up limited free offers. By setting up  a
  4002. default subscription period of say, 5 days, all new callers can be let onto
  4003. to  see whether they want to subscribe.  After 5 days, security drops  back
  4004. down  to a more limited level.  This "free" period can be made  a  standing
  4005. offer,  or turned off after a two week period.  Or, a user who  requests  a
  4006. trial period can be individually added with a short subscription period.
  4007.  
  4008. Limited  trial subscriptions also are an attractive alternative  for  those
  4009. SYSOPs that do not give full privileges until after a caller is verified or
  4010. checked  out.   These  callers are either asked to fill out a  registration
  4011. form or leave a comment,  then sometime later the SYSOP decides whether  to
  4012. increase   the  security  level.    By  letting  new  users  have  a  short
  4013. registration period with higher privileges,  say 3 days, a SYSOP may choose
  4014. to give new callers immediate access and minimize the pressure to check the
  4015. new caller out as soon as possible.   The SYSOP need do nothing if a caller
  4016. cannot be verified.   Those that check out get their security raised.  This
  4017. way the many honest new users are not penalized but the prank or  dishonest
  4018. callers can get on only briefly.
  4019. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4020. Copyright 1988 by D. Thomas Mack                            Page 73 of 232
  4021.  
  4022. 10.1 Setting It Up
  4023. ------------------
  4024. The subscription management system is turned on by specifying in CONFIG  to
  4025. limit  callers by subscription date.   After access is so limited,  RBBS-PC
  4026. automatically records the date of the first call.  For old users, this will
  4027. be  the first call made since the subscription date began to limit  access.
  4028. This recorded date is the base registration date.   The SYSOP then needs to
  4029. specify in CONFIG:
  4030.  
  4031. 1.  A default subscription period (the number of days a new user gets).
  4032. 2.  A warning period (which  determines  when  callers  will get an
  4033.     advance  warning  that  their subscription is about to expire.   The
  4034.     warning period is the number of days left needed to trigger a warning.)
  4035. 3.  The security level expired subscribers get.
  4036.  
  4037. In  the PASSWRDS file, the SYSOP designates different subscription  periods
  4038. for  each  security level (other than the default  security  level).   This
  4039. needs  to be specified only if a subscription period is desired  that  will
  4040. override the default.
  4041.  
  4042. RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the
  4043. subscription period to the base registration date.   Persons calling  after
  4044. this  expiration date are bumped down to the expired security level set  by
  4045. the SYSOP in CONFIG.
  4046.  
  4047. The time management of RBBS-PC is automatically activated when the presence
  4048. of  the  PASSWRDS  file  is detected.  See  section  16.3  for  a  complete
  4049. description of the PASSWRDS file.
  4050.  
  4051.  
  4052. 11.  USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  4053. ----------------------------------------------------
  4054. The  RBBS-PC.DEF  file is created  by the CONFIG program and  contains  the
  4055. program's   default  operating  parameters  and values.   When you run  the
  4056. CONFIG  program   to  create RBBS-PC.DEF or to update it,   you can  change
  4057. many  of  these  parameters  to meet your needs.  Certain parameters  which
  4058. control  critical  operations  of the programs are embedded in the  RBBS-PC
  4059. program  and should not  normally be changed by the system operator.   When
  4060. setting RBBS-PC is set up for the first time, SYSOPs are urged to take  the
  4061. default  values  generated by CONFIG except for those parameters  that  are
  4062. unique to their configuration (i.e. the communication port, etc.).
  4063.  
  4064. CONFIG.BAS, unlike Gaul, is divided into many parts or screens.  They are:
  4065.  
  4066.      Screen         Description
  4067.  
  4068.         1           Global RBBS-PC Parameters (Part 1 of 3)
  4069.         2           Global RBBS-PC Parameters (Part 2 of 3)
  4070.         3           Global RBBS-PC Parameters (Part 3 of 3)
  4071.         4           RBBS-PC System Files (part 1)
  4072.         5           RBBS-PC System Files (part 2)
  4073.         6           Parameters for RBBS-PC "doors"
  4074.         7           Parameters for RBBS-PC Security (part 1)
  4075.         8           Parameters for RBBS-PC Security (part 2)
  4076. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4077. Copyright 1988 by D. Thomas Mack                            Page 74 of 232
  4078.  
  4079.         9           Parameters for Multiple RBBS-PC's and "conferences"
  4080.        10           RBBS-PC Utilities
  4081.        11           Parameters for RBBS-PC's File Management System
  4082.        12           RBBS-PC Communications Parameters (part 1)
  4083.        13           RBBS-PC Communications Parameters (part 2)
  4084.        14           RBBS-PC Net Mail
  4085.        15           New users parameters
  4086.        16           Use of the Library Sub-System
  4087.        17           RBBS-PC Color parameters
  4088.        18           Reserved for future use
  4089.  
  4090. The  user  may  scroll  forward  or backward  through  the  17  screens  of
  4091. parameters  in  CONFIG  using  the PgUp and  PgDn  keys  on  the  keyboard.
  4092. Additionally  users  may  go directly to a specific screen  by  pressing  a
  4093. function key (F1 through F10) or SHIFT and a function key (shift/F1 through
  4094. Shift  F7) corresponding to the page to be selected.  To terminate  CONFIG,
  4095. users need only press the "End" key on the keyboard.
  4096.  
  4097. CONFIG can be invoked with the command:
  4098.  
  4099.          CONFIG  <config file>
  4100.  
  4101. The  <config  file>  is an optional name of the configuration  file  to  be
  4102. created  or edited.  This assumes that CONFIG.EXE, is on the  default  disk
  4103. drive.   The  CONFIG  utility  will  write  the  RBBS-PC  definition  file,
  4104. RBBSxPC.DEF to the default drive.
  4105.  
  4106. 11.1 Global RBBS-PC Parameters (Part 1 of 3)
  4107. --------------------------------------------
  4108. Parameter 1 and parameter 2  request the RBBS-PC system operator's  (SYSOP)
  4109. name.  This is used when someone wants to leave a message for the SYSOP  or
  4110. when  the SYSOP "chats" with someone on-line.  The SYSOP name is  used   to
  4111. insure that users are not attempting to access RBBS-PC using the SYSOP name
  4112. hoping to get a higher access level.   Attempting to logon using the  SYSOP
  4113. name  will  result  in "LOGON DENIED" and a posting of the attempt  in  the
  4114. CALLERS  file.   The SYSOP's name can be either a real name  such  as  "Tom
  4115. Mack" or an impersonal identifier such as "Physics Department."
  4116.  
  4117. The  SYSOP's  default sign-on mode is set by parameter  3 as either  EXPERT
  4118. or   NOVICE.    Unless  you are very familiar with  the  RBBS-PC's  command
  4119. structure,  the  SYSOP's  sign-on mode should be NOVICE.
  4120.  
  4121. The SYSOP can be paged by callers.  Parameter 4 allows the SYSOP to set the
  4122. "office   hours"  when a user can page the SYSOP.   The IBM  PC's  bell  is
  4123. rather  insistent,  and these hours should be set to match when you will be
  4124. within   ear-shot  of  the RBBS-PC.    The times are set  using  a  24-hour
  4125. military clock  (i.e.  10:00 P.M.  is 2200 hours).   The SYSOP can override
  4126. these  hours by activating the page bell via function key 4 on the keyboard
  4127. of the PC running RBBS-PC.
  4128.  
  4129. Because  the  bell  on an attached printer is usually louder than  the  one
  4130. built  into  the PC,  the SYSOP can elect to have the  printer's  bell  via
  4131. parameter 5 whenever the SYSOP is "paged".
  4132. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4133. Copyright 1988 by D. Thomas Mack                            Page 75 of 232
  4134.  
  4135. Parameter  6  gives  the  SYSOP the option  of  electing  to  have  RBBS-PC
  4136. automatically  take itself off-line if a "disk full" condition occurs.   In
  4137. previous versions, this was not an option.  Now, if the SYSOP has a  floppy
  4138. disk for uploads that gets full and everything else is on a hard disk,  the
  4139. SYSOP  can keep RBBS-PC from taking itself off-line should the floppy  disk
  4140. get full.
  4141.  
  4142. Parameter   7  is the SYSOP's preference for prompt sounds when  input   is
  4143. required.   When this is on, both the remote user and the local SYSOP  will
  4144. hear the prompt bell when input is required from the remote user.
  4145.  
  4146. Parameter   8 of the CONFIG program asks for the maximum amount   of   time
  4147. each  user is to be allowed on the system per session.   Set the number  of
  4148. minutes  to  whatever you are comfortable with,  but 72 minutes is  a  good
  4149. setting  for starting up.   Subsequently you may have to lower this  number
  4150. once  your number of callers increases,  in order to keep callers'  waiting
  4151. times reasonable.  This can also be made the maximum time on the system per
  4152. day.   As described elsewhere, each security level can have its own maximum
  4153. time   on  the  system per session specified and it can vary  according  to
  4154. the time of day that the user logs on.
  4155.  
  4156. A  SYSOP   may limit the maximum amount of time any user with  the  default
  4157. security  level  can  spend on your  system  each day via  parameter  9  of
  4158. CONFIG.   This is helpful  if  you  have  a  relatively  busy  RBBS-PC  and
  4159. want  to  have  as  diversified  group  of   callers  as  possible.   Every
  4160. security level can have a different maximum time on the system per day  and
  4161. it  may  vary based on the time of day that the user logs  on.   These  are
  4162. specified in the PASSWRDS file.
  4163.  
  4164. RBBS-PC keeps  track of the total amount of elapsed time a user is on RBBS-
  4165. PC each day.  Each  time a caller logs on, the maximum amount of time  that
  4166. they  are allowed on the system  is checked against this  daily  cumulative
  4167. total.   The  time remaining in each  caller's session is  the  difference.
  4168. When  a  caller exceeds this maximum and tries  to log on again,  they  are
  4169. told  that they have exceeded the allocated time for that  day and  to  try
  4170. again tomorrow.
  4171.  
  4172. Parameter  10  allows a SYSOP to "reward" users who upload files by  adding
  4173. some  multiple  of  the elapsed time it took for the  file  upload  to  the
  4174. current  session time.   This should be used judiciously as some users  may
  4175. abuse  this  by repeatedly uploading COMMAND.COM or some other  meaningless
  4176. file.   This  extends  both the users current session  and  other  sessions
  4177. during  the  same  day,  but NOT the time on  future  days.   However  when
  4178. specifying  this parameter, the SYSOP will be asked if upload time  credits
  4179. are  to accumulate indefinitely until they are used.  If the SYSOP  replies
  4180. "NO", the upload time credits endure only for the day in which the  uploads
  4181. are made.
  4182.  
  4183. Parameter  11 sets the number of months inactivity that must elapse  before
  4184. a   user is deleted from the USERS file when the SYSOP "rebuilds" the  user
  4185. file.
  4186.  
  4187. Parameter 12 allows the SYSOP to specify the name of the RBBS-PC that is to
  4188. be  displayed  when  a user first connects with the  system  and  prior  to
  4189. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4190. Copyright 1988 by D. Thomas Mack                            Page 76 of 232
  4191.  
  4192. completing the logon process.
  4193.  
  4194. Parameter 13, parameter 14, and parameter 15 allow the SYSOP to specify the
  4195. colors  desired   for  the  foreground,   background,  and  border.    When
  4196. specifying  these options  the BASIC manual's section describing the  COLOR
  4197. command  in text mode should  be  consulted.   This is useful when  running
  4198. multiple  RBBS-PC's and you want a handy way of determine which RBBS-PC  it
  4199. is that you are viewing on the screen.   This  option  is NOT available  if
  4200. the SYSOP has specified a "ring-back" system.
  4201.  
  4202. Parameter  16  control  whether RBBS-PC will use  ANSI  codes  for  special
  4203. effects like blinking on the local PC's screen.
  4204.  
  4205. Parameter  17 designates the decimal value ( 0 to 255) of the character  to
  4206. be used for personalizing the text files displayed to the caller.  If 0  is
  4207. selected,  no text files will be personalized.  See section 8.9 for a  more
  4208. detailed discussion of how to personalize RBBS-PC text files.
  4209.  
  4210. Parameter  18 allows the SYSOP to specify the file name that  contains  the
  4211. information  to control the "automatic" RBBS-PC paging of the  SYSOP.   See
  4212. section  8.11  for  a  detailed  description  of  the  file  format  and  a
  4213. description of RBBS-PC "auto-page" feature.
  4214.  
  4215. Parameter  19  lets  the SYSOP determine the level of detail  to  use  when
  4216. notifying  callers of electronic message.  See section 19 to get  a  better
  4217. understanding of the full flexibility of mail waiting notification that has
  4218. been built into RBBS-PC.
  4219.  
  4220. 11.2 Global RBBS-PC Parameters (Part 2 of 3)
  4221. --------------------------------------------
  4222. Parameter  21  allows the SYSOP to remind users not only of  the   messages
  4223. that  might  be for them but also messages that they may have left.    This
  4224. should  be enough of a nuisance to insure that users do delete some of  the
  4225. messages they have left and help to keep the MESSAGES file to a minimum.
  4226.  
  4227. Parameter  22 allows the SYSOP to elect to remind users of how  many  files
  4228. they have downloaded and uploaded.
  4229.  
  4230. Parameter  23 allows a SYSOP to remind users every time they log on of  the
  4231. preferences  they have selected for such things as file transfer  protocol,
  4232. graphics, nulls, etc.
  4233.  
  4234. Parameter 24 allows users to download files immediately upon logging on  to
  4235. RBBS-PC.   Parameter 24 is only meaningful if the RBBS-PC  File  Management
  4236. System  (FMS)  has been enabled via parameter 214. RBBS-PC will  scan  this
  4237. file for the latest uploads.  When a caller logs on, RBBS-PC will determine
  4238. how many files are new since the caller last logged on, up to a maximum  of
  4239. 23.   By  setting  parameter  218, the caller  is  offered  the  chance  to
  4240. immediately  review  these  new files for downloading, if  the  caller  has
  4241. sufficient  security  to download.  This happens before  the  bulletins  or
  4242. messages are reviewed.  RBBS-PC's that emphasize software exchange may want
  4243. to  enable this option, others may not want to give the caller a chance  to
  4244. download  the  new  files  until after bulletins  and  messages  have  been
  4245. reviewed.
  4246. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4247. Copyright 1988 by D. Thomas Mack                            Page 77 of 232
  4248.  
  4249.  
  4250. Parameter  25 allows the SYSOP to establish a default page length for users
  4251. when  they log on.    A 23 line page length is the default,   but the SYSOP
  4252. can   set  it  to any number between 0 and 255.    If set to 0,   the  user
  4253. will  receive continuously scrolling output.
  4254.  
  4255. Parameter 26 allows the SYSOP to specify (within the range of 1 to 99)  the
  4256. maximum number of lines allowed in each message.
  4257.  
  4258. Parameter   27  allows  the  SYSOP  to  make  the  system  "welcome"   file
  4259. interruptible.   The default is that YES it is interruptable.   However, if
  4260. the SYSOP feels too many people are bypassing it and it contains  essential
  4261. information,  the SYSOP can set this parameter to NO (i.e. the user can not
  4262. suspend  or cancel the listing of this file at their terminal with a CTRL S
  4263. or  CTRL K).
  4264.  
  4265. Parameter   28  is  intended to allow the SYSOP to indicate if  the  system
  4266. bulletins are to be optional for users when they log on.   If bulletins are
  4267. optional,  callers  can elect to automatically bypass old bulletins and  be
  4268. notified  only when there are new bulletins.   RBBS-PC will check the  file
  4269. date of the bulletins and inform the caller which are new,  with the option
  4270. to  read  all of the new bulletins.   If none are new  when  bulletins  are
  4271. optional, the bulletins will be automatically bypassed.
  4272.  
  4273. Parameter  29 is designed to allow RBBS-PC to run on some  "IBM-compatible"
  4274. PC's  that  make  use of  unused interrupts or on the  IBM  PCjr.   RBBS-PC
  4275. checks to see if the unused interrupt X'7F' is non-zero.  If it is, RBBS-PC
  4276. thinks that the software product,  MultiLink (from The Software Link, Inc.)
  4277. is present and issues the appropriate MultiLink calls.   Obviously if  this
  4278. is  not the case,  strange and unpredictable things happen which result  in
  4279. RBBS-PC not working.  The COMPAQ+ is an example of this syndrome.
  4280.  
  4281. If  running RBBS-PC on an IBM PCjr using an external modem but  without  an
  4282. internal modem,  the communications port must be opened as COM1 even though
  4283. RBBS-PC   must   use  the  COM2  RS-232  registers  for   controlling   the
  4284. communications port.
  4285.  
  4286. Parameter  30, parameter 31, parameter 32, parameter 33, and  parameter  34
  4287. let  the  SYSOP change what symbols are used for each RBBS-PC  function  by
  4288. substituting  a  new  letter.   Additionally, a  space  substituted  for  a
  4289. command  will disable that command, in effect removing it from the  system.
  4290. SYSOPs with no DOORS may wish to disable D rather than to confuse users  by
  4291. displaying options not available.  All commands displayed to callers in the
  4292. command prompt will be in sorted order.
  4293.  
  4294. Parameter 35 allows the section name to precede the command prompt that  is
  4295. displayed  when a caller is asked to enter a command.  The  command  prompt
  4296. begins  with  <section>, where <section> is MAIN, FILE, or  UTIL,  if  this
  4297. option is selected.  Otherwise, the prompt will begin with YOUR.   Normally
  4298. the  section in the prompt helps the caller remember where he is,  but  see
  4299. section 8 for reasons to suppress the section.
  4300.  
  4301. Parameter  36  allows the SYSOP to not display the commands to  the  caller
  4302. when waiting for the user to enter a command.  The default in RBBS-PC is to
  4303. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4304. Copyright 1988 by D. Thomas Mack                            Page 78 of 232
  4305.  
  4306. remind  the  caller what commands are available by giving a sorted list  of
  4307. the letters used for each command at the end of the command prompt.   RBBS-
  4308. PC shows only the commands available in the section that the caller is  in.
  4309. If  the  SYSOP chooses not to display the section a user is in,  there  are
  4310. more commands available than will be shown in the prompt.
  4311.  
  4312. RBBS-PC  supports  a "wrap-around" search for valid commands.   This  means
  4313. that when a command is not found in the current section, other sections are
  4314. then  searched.   The  order  of  search  is  MAIN->FILE->UTIL->LIBR.   For
  4315. example,  if  L  is  picked when in the main section,  where  there  is  no
  4316. command, the L)ist command in the file section will be executed.  Parameter
  4317. 37 lets the SYSOP turn this wrap-around search and not execute commands  in
  4318. other  sections.   Wrap-around is required if the SYSOP want's  to  have  a
  4319. single command line (i.e. not have the "Utility" and "File" subsystems).
  4320.  
  4321. Parameter  38 allows the SYSOP to elect to use machine language subroutines
  4322. (rather  than  the  BASIC routines) for a few of  the  more  commonly  used
  4323. subroutines.  These may only be functional within a DOS that is supplied by
  4324. IBM (rather than Microsoft).  Therefore this is optional.  If you encounter
  4325. problems,  simply  elect to utilize the BASIC routines which are much  more
  4326. likely  to be compatible in configurations that have hardware and  software
  4327. operating   environments  significantly  different  from   the   "baseline"
  4328. configuration  in  which RBBS-PC is tested.  In most  cases  the  assembler
  4329. routines are much faster than their BASIC counterparts, especially in  file
  4330. searches.
  4331.  
  4332. Parameter  39 allows the SYSOP to elect to use the BASIC  language's  PRINT
  4333. statement  to write to the screen of the PC that RBBS-PC is being  run  on.
  4334. This  is sometimes necessary in "hostile" environments (i.e.  multitasking,
  4335. special  screen drivers, etc.) where the use of RBBS-PC's default  call  to
  4336. the RBBS-PC screen driver ANSI is not viable.
  4337.  
  4338. Parameter 40 is the maximum number of lines that can be used to describe  a
  4339. file that was uploaded.  It is the number of lines (beyond 1) that a caller
  4340. can  enter  when describing a file that was uploaded.  It applies  to  both
  4341. single FMS directories and non-FMS directories.
  4342.  
  4343. 11.3 Global RBBS-PC Parameters (Part 3 of 3)
  4344. --------------------------------------------
  4345. Parameter  41  and  parameter  42 determine how callers  are  going  to  be
  4346. uniquely  identified  when  they  log on.  The default  in  RBBS-PC  is  to
  4347. concatenate  first  and last name to form name.  Parameter 41  lets  SYSOPs
  4348. choose  another  field  as user ID.  A field is  specified  by  giving  its
  4349. starting  position  and  length  in the user file, and  a  prompt  must  be
  4350. supplied  which  will  be used when asking for user ID.   BE  VERY  CAREFUL
  4351. CHANGING THIS PARAMETER.  Parameter 45 and parameter 46 allow the SYSOP  to
  4352. specify  a  name  to be used when prompting the user for  the  field  (i.e.
  4353. ACCOUNT  #).  See section 9 for additional details.  RBBS-PC  assumes  that
  4354. name is being used whenever the ID begins in column 1.
  4355.  
  4356. Parameter  42  lets a field be specified that will be used  to  distinguish
  4357. callers with the same ID.  Like with ID, the beginning column, length,  and
  4358. prompt  must be specified.  RBBS-PC defaults to no individuation, which  is
  4359. specified  by  setting the beginning column to 0.  Activating  this  option
  4360. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4361. Copyright 1988 by D. Thomas Mack                            Page 79 of 232
  4362.  
  4363. forces users to give additional information when they log on, since both ID
  4364. and individuation value have to be given.  See section 9 for details on how
  4365. to use this option.
  4366.  
  4367. Parameter  43 and parameter 44 inform RBBS-PC the field and the  length  of
  4368. the  field  in  the USERS record to use when  determining  if  a  "personal
  4369. download"  exists for this person.  Parameter 43 indicates where the  field
  4370. begins in the USERS record -- the default is position 1 (the user's  name).
  4371. Parameter  44  indicates  how long the field to match  against  is  --  the
  4372. default  is 31 (the maximum length of a user's name).  The entries  in  the
  4373. personal download directory must have exactly this many bytes at the end --
  4374. plus one (for the flag used to indicate if the file has been download).
  4375.  
  4376. Parameter 45 and parameter 46 allow the SYSOP to specify the description of
  4377. what  is  asked  for that is placed in the first 31 bytes  of  each  user's
  4378. record.  When identifying to whom a message is to/for it is these 31  bytes
  4379. that  are matched against.  However, these prompts can be changed from  the
  4380. default "FIRST name" for parameter 45 to "REAL FIRST name" or even  "DEALER
  4381. number".   Similarly  the default for parameter 46 could  be  changed  from
  4382. "LAST name" to "ZIP code".
  4383.  
  4384. Parameter  47  allows the user to enforce upload to download  ratios.   See
  4385. section  16 for a discussion of the flexibility each RBBS-PC SYSOP  has  in
  4386. specifying  these ratios.  Sections 16.3 and 16.4 describe in  more  detail
  4387. the format necessary to use in the password file in order to utilize  which
  4388. users/security levels are to have upload and download ratios applied.
  4389.  
  4390. Parameter  48, parameter 49, parameter 50, and parameter 51 address  access
  4391. control via the automatic RBBS-PC subscription management facilities. For a
  4392. detailed   discussion  of  RBBS-PC's  automatic   subscription   management
  4393. facilities,  see  section  10.  Parameter 48  means  that  access  will  be
  4394. controlled  by subscription dates, and persons with  expired  subscriptions
  4395. will  get reduced privileges.  Parameter 49 is the security  level  callers
  4396. get   after   their   subscription  expires.    Typically   this   security
  4397. significantly  reduces  what  a  caller is allowed  to  do.   Parameter  50
  4398. specifies when callers are to be warned in advance that their  subscription
  4399. is  about to expire.  This warning is based on the number of days before  a
  4400. subscription expires.  Parameter 51 specifies the number of days a new user
  4401. gets in the subscription period.
  4402.  
  4403. Parameter 52 determines if RBBS-PC is to avoid writing to the printer.   On
  4404. some  networks  any attempt to write to a printer can  generate  a  spooler
  4405. error that hangs the node.  Setting this parameter to "YES" guarantees that
  4406. RBBS-PC doesn't write to the printer.
  4407.  
  4408. Parameter 53 causes RBBS-PC to play musical themes for auditory feedback on
  4409. what  is happening on a board.  This can be important for SYSOPs  that  are
  4410. sight impaired.  These musical themes are "played" on the speaker of the PC
  4411. that is running RBBS-PC.  The themes are not transmitted to the caller.
  4412.  
  4413. Parameter 54 is the buffer used internally by RBBS-PC when displaying  text
  4414. files such as menus, directories of files, etc.  A SYSOP can set  parameter
  4415. 218  to either minimize memory usage or optimize speed.  It is the size  of
  4416. the internal buffer that RBBS-PC uses to read in most text files, including
  4417. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4418. Copyright 1988 by D. Thomas Mack                            Page 80 of 232
  4419.  
  4420. menus  and can range from 32 bytes to 4096 bytes.  The bigger  the  buffer,
  4421. the  fewer disk accesses necessary to display the file and the  faster  the
  4422. display  will  be.   The  default  of  128  is  the  minimum   recommended.
  4423. Increasing this to 512 will increase the speed of text displays.    However
  4424. in  some environments where it is important to respond quickly to  XON/XOFF
  4425. control, this should be set to the minimum of 32.
  4426.  
  4427. Parameter  55 allows RBBS-PC to dynamically set the "stack space"  used  by
  4428. the code generated by the BASIC compiler.  In QuickBASIC 3.0, the  compiler
  4429. used to generate RBBS-PC's .EXE file, and IBM's BASIC Compiler Version  2.0
  4430. this is the total stack space.  In later releases of QuickBASIC, it is  the
  4431. ADDITIONAL  stack  space  beyond  which  BASIC  normally  allocates.    The
  4432. recommended  value  is  1024,  if RBBS-PC is  running  in  a  multi-tasking
  4433. environment  under DOS.  However, in order to decrease memory demands  this
  4434. can be made smaller.
  4435.  
  4436. Parameter 56 is not implemented in RBBS-PC.
  4437.  
  4438. Parameter  57, like parameter 45 and parameter 46, is used when a new  user
  4439. logs  on  to the system for the first time.  Instead of asking a  user  for
  4440. their  City and State, a SYSOP can request such things as their  area  code
  4441. and telephone number.
  4442.  
  4443. Parameter  58  allows  the SYSOP to configure RBBS-PC such  that  the  file
  4444. directories  are shown in sorted order whenever a caller simply  lists  the
  4445. directory of directory.
  4446.  
  4447. 11.4 Parameters for RBBS-PC System Files (part 1)
  4448. -------------------------------------------------
  4449. Parameter  61  specifies the name of text file that is shown to a  user  if
  4450. bulletins  are not optional (see parameter 28) or if the user  replies  "L"
  4451. when notified of how many bulletins exist.  This file should contain a list
  4452. of  the  bulletins  (i.e.  1-99) and a brief one-line  description  of  the
  4453. contents of each (e.g. "New Release of RBBS-PC").
  4454.  
  4455. Parameter 62 allows a SYSOP to have from 0 to 99 "bulletins."  If there are
  4456. 0  bulletins  a user is notified that there are  no  bulletins.   Bulletins
  4457. should be brief,  informative,  and timely.   I personally think that there
  4458. should be very few bulletins and that they should be changed often if users
  4459. are  to  be  enticed  to look at them.   If  you  make  bulletins  optional
  4460. (parameter  28) RBBS-PC will automatically bring new ones to the  attention
  4461. of each caller when they log on.
  4462.  
  4463. Parameter 63 provides the SYSOP with the flexibility to make the prefix  of
  4464. the bulletins anything he wants (i.e. BULLET).  To this is added the number
  4465. (e.g.  BULLET7  for  bulletin  number 7) and the disk drive  designated  in
  4466. parameter  61 is searched for the bulletin number requested when some  asks
  4467. to see a bulletin.  If the file is not found, the user is so informed. If a
  4468. "graphics"  equivalent  is  found  and the  user  requested  graphics,  the
  4469. graphics  version  of the bulletin is displayed - BULLET7G  (i.e.  contains
  4470. characters  with  values  of 0 through 255) or  BULLET7C  (i.  e.  contains
  4471. characters  with values of 0 through 128 which, hopefully, are ANSI  screen
  4472. commands)
  4473. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4474. Copyright 1988 by D. Thomas Mack                            Page 81 of 232
  4475.  
  4476. Parameter  64  indicates  the disk drive and path on which  RBBS-PC  is  to
  4477. search for to find RBBS-PC's on-line "help" files whenever a user asks  for
  4478. help  within a specific subsystem.   This is where the help files should be
  4479. stored.
  4480.  
  4481. There  are some specific help files used by RBBS-PC whose name is simply  a
  4482. help  prefix  plus  a  number.   The SYSOP may elect  to  call  the  prefix
  4483. something other than the default of "HELP0".  Parameter 65 allows the SYSOP
  4484. to  pick  up  to  a seven-character prefix to which  the  numbers  will  be
  4485. appended.   This  file  name  is what RBBS-PC will look for  on  the  drive
  4486. specified  in  parameter 64 when a user asks for  help  on-line.   As  with
  4487. "bulletins", if a "graphics" equivalent is found and the user has signed on
  4488. N/8/1  and  requested graphics,  the graphics version of the help  file  is
  4489. displayed (i.e. HELP07G).
  4490.  
  4491. RBBS-PC  identifies  help  for a particular command by the  letter  of  the
  4492. section  and  the  letter of the command, plus an extension  for  the  help
  4493. files.  The extension "HLP" is the default but parameter 66 lets the  SYSOP
  4494. set this to whatever desired.
  4495.  
  4496. Parameter  67  is the name of the file that is displayed to a  caller  when
  4497. the caller is requested to categorize a file that has been uploaded.  RBBS-
  4498. PC' File Management System can be configured to minimize the activities  of
  4499. the  SYSOP  by allowing users to categorize the files  that  are  uploaded.
  4500. This  file  should list the names of the categories that  an  uploader  can
  4501. select.   It should be stored on the same drive and path as the other  help
  4502. files.  The category selected will be validated to make sure that it is  in
  4503. the  list in DIR.CAT or that a valid category file with that  name  exists.
  4504. The  appropriate  category  code  will be written out  to  the  shared  FMS
  4505. directory if the FMS system is active.  If the FMS system is not being used
  4506. or a separate .DIR file with the category name exists (e.g. GAMES.DIR), the
  4507. description of the entry for the upload will be appended to the .DIR file.
  4508.  
  4509. Parameter 68 allows the SYSOP to select any name for the text file that new
  4510. users  see when they first log on and before they "register" themselves  in
  4511. RBBS-PC's  USERS file.   A user sees it once and only once during his first
  4512. session.   It can contain anything you want it to,  but a brief explanation
  4513. of your Board's purpose,  "rules", etc. might be appropriate.
  4514.  
  4515. Parameter  69  allows the SYSOP to select any name for the text  file  that
  4516. each user sees EVERY time AFTER they log on.   Keep it brief!  RBBS-PC will
  4517. look for a "graphics" equivalent if the user qualifies for graphic displays
  4518. (i.e.  it  will display the file HELLOG or HELLOC in lieu of  HELLO).   The
  4519. default name for this file is WELCOME.
  4520.  
  4521. Parameter  70, parameter 71, parameter 72, parameter 73, parameter 74,  and
  4522. parameter  75 focus on the text files that RBBS-PC displays to  novices  as
  4523. "menus."   Menu  files  shown to novices tend to  be  frequently  accessed.
  4524. Systems  that do not have disk caching should consider putting menus  in  a
  4525. RAM disk in order to cut down on the wear and tear of your disk drives.
  4526.  
  4527. Parameter 70 allows any valid name to be given to the text file  containing
  4528. the  commands  allowed those with SYSOP privileges.
  4529. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4530. Copyright 1988 by D. Thomas Mack                            Page 82 of 232
  4531.  
  4532. Parameter  71  allows  the  SYSOP to specify the  name  of  the  text  file
  4533. containing  the menu of commands available to those in the main  "messages"
  4534. subsystem.
  4535.  
  4536. Parameter  72  allows  the name of the text file  containing  the  menu  of
  4537. commands available to those in the "files" subsystem to be any valid name.
  4538.  
  4539. Parameter  73  allows  the name of the text file  containing  the  menu  of
  4540. commands  available to those in the "utilities" subsystem to be  any  valid
  4541. name.
  4542.  
  4543. Parameter  74  is  the  name  of the text file listing  the  names  of  the
  4544. conferences that are available.   Conference names must be seven-characters
  4545. or less, in all caps, and cannot have any character to the left or right of
  4546. the  name  except  possibly a space.   The SYSOP  must  already  have  pre-
  4547. formatted the messages and users files associated with the conferences (see
  4548. section 18).
  4549.  
  4550. Parameter 75 allows the SYSOP to name the text file containing the list  of
  4551. the questionnaires, surveys, or forms which callers can fill out and answer
  4552. on-line.   The  scripting support built into RBBS-PC allows  the  SYSOP  to
  4553. construct a series of questions to be presented to the caller and save  the
  4554. answers.   Questionnaire  names must be eight characters or  less,  in  all
  4555. caps, and cannot have any character to the left or right of the name except
  4556. possibly  a space.  Of course, the actual file name for the script  has  an
  4557. extension  of ".DEF".  Thus, a questionnaire called SURVEY would appear  in
  4558. the  text file identified in Parameter 75 as SURVEY, preceded and  followed
  4559. by at least one blank character, and exist as a file named SURVEY.DEF.
  4560.  
  4561. Parameter  76  allows  the SYSOP to specify the drive and  path  where  the
  4562. optional questionnaires will be located.
  4563.  
  4564. If the file specified in parameter 77 exists, RBBS-PC will assume that  the
  4565. SYSOP is using RBBS-PC's "Programmable User Interface" (PUI) -- see section
  4566. 8 for a fuller description of RBBS-PC's PUI.
  4567.  
  4568. Parameter  78  allows  the SYSOP to elect to have RBBS-PC  have  full  page
  4569. control.   By this it is meant that all displays will be interrupted  after
  4570. the number of lines set by the user for his "page length" have been written
  4571. to the user's screen.  This, on occasion, may mean that menus will pause in
  4572. the middle with a prompt waiting for the user to hit enter.  The  advantage
  4573. of allowing this to happens means that no information on the user's  screen
  4574. will  "scroll off" the top of the screen.  The disadvantage is  that  menus
  4575. may not be viewed in their entirety.  Replying "NO" to this parameter means
  4576. that menus will be fully displayed on a single screen, but some information
  4577. that preceded the menus may scroll off the top of the screen.
  4578.  
  4579. Parameter 79 and parameter 80 allow the drive, path name, and extension  to
  4580. be used for RBBS-PC "macros".  See section 8.8 for a fuller description  of
  4581. RBBS-PC extensive "macro" capabilities.
  4582. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4583. Copyright 1988 by D. Thomas Mack                            Page 83 of 232
  4584.  
  4585. 11.5 Parameters for RBBS-PC System Files (part 2)
  4586. -------------------------------------------------
  4587. Parameter 81 is the name of the text file (TRASHCAN) listing names that the
  4588. SYSOP considers inappropriate.  This file is used when a new user signs on.
  4589. The  new users first and last name are each individually   checked  against
  4590. the names in this file.
  4591.  
  4592.     The format of this file is as follows:
  4593.  
  4594.     <name>,
  4595.  
  4596. An example of such a file would be:
  4597.  
  4598.     BITE,
  4599.     BYTE,
  4600.     DOC,
  4601.     DOCTOR,
  4602.     DEATH,
  4603.     GLADIATOR,
  4604.     KILLER,
  4605.     MAN,
  4606.     THE,
  4607.  
  4608. The  comma  is  optional  after  each  name.   However,  it  does  help  in
  4609. delineating  exactly  what character strings are being  searched   for  and
  4610. compared  against  (some text editors may add  extraneous  and  non-visible
  4611. characters  to a line).  All names should be UPPER CASE! If you create  the
  4612. file  using IBM's standard DOS text editor, EDLIN, each line may  end  with
  4613. either  a  comma or a carriage return.  If you create the file  using  COPY
  4614. CON,  each line should end with a carriage return (i.e. the  "enter"  key).
  4615. The last line (when using    COPY CON) should end with a Control Z, F6, and
  4616. then carriage return. BASIC will treat either a comma or a carriage  return
  4617. as  a  field delimiter.  You need a field delimiter following each  of  the
  4618. names.   If  the above file existed, any new user who logged and  used  the
  4619. following names would be denied access:
  4620.  
  4621.     Byte Killer
  4622.     Kilo Man
  4623.     Doctor Death
  4624.     PC Doctor
  4625.  
  4626. Parameter  82  lets the SYSOP force a questionnaire to be answered  by  all
  4627. callers,  old and new,  exactly once.   RBBS-PC records in the users record
  4628. when  the  required questionnaire is answered so that it will not  ask  the
  4629. caller again.   Parameter 186 lets the SYSOP reset the flag back to off for
  4630. all  users.   This  should be done when the SYSOP wants to  install  a  new
  4631. required   questionnaire  to  be  used  to  survey  all  callers.   If   no
  4632. questionnaire is required, this parameter can be specified as NONE.
  4633.  
  4634. Parameter 83 allows the SYSOP to specify the name of the file that will  be
  4635. displayed as soon as carrier is detected and BEFORE a user can log on.   It
  4636. is  displayed  immediately  after the name of the  RBBS-PC  is  shown  (see
  4637. parameter  12).  SYSOPs should use "PRELOG" to convey such  information  as
  4638. whether  real  names  are required, 300 baud users  will  automatically  be
  4639. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4640. Copyright 1988 by D. Thomas Mack                            Page 84 of 232
  4641.  
  4642. denied access, etc.
  4643.  
  4644. RBBS-PC  provides a sophisticated, script-driven capability that  allows  a
  4645. SYSOP  to ask new users questions or questions of all users when  they  say
  4646. G>oodbye.   Parameter 84 allows the SYSOP to specify the file name  of  the
  4647. script  of  questions to ask new users.
  4648.  
  4649. Parameter  85  allows the SYSOP to specify the file name of the  script  of
  4650. questions (if any) to ask users when they say G>oodbye.  The  SYSOP can set
  4651. up  the script so as to raise or lower a new users security level based  on
  4652. the answers.  Contained within these scripts is the file name to which  the
  4653. answers are to be written.
  4654.  
  4655. Parameter 86 allows the SYSOP to specify the file name for the file used by
  4656. RBBS-PC to hold the messages on the bulletin board.  This file can NOT have
  4657. an  extension because RBBS-PC appends the extension ".BAK" to the file name
  4658. when "packing" the messages file.
  4659.  
  4660. NOTE:  Read section 19 if you want to include the main message file in  the
  4661. scan for conference mail waiting.
  4662.  
  4663. RBBS-PC  keeps  a profile of each user who logs on in a "user record"  (see
  4664. Appendix A for a layout of this record).   Parameter 87 allows the SYSOP to
  4665. specify the file name for this file.   This file can NOT have an  extension
  4666. because  RBBS-PC  appends  the  extension  ".BAK" to  the  file  name  when
  4667. "packing" the users file.
  4668.  
  4669. Instead  of leaving a "message",  a user may leave a comment for the  SYSOP
  4670. that  is  readable only by the SYSOP.   Parameter 88 allows  the  SYSOP  to
  4671. specify  the  fully  qualified name for the file used by RBBS-PC  to  store
  4672. users' comments.
  4673.  
  4674. Parameter 89 allows the SYSOP to have comments recorded as private messages
  4675. to him in the main messages file providing there is any room.   This allows
  4676. replies to comments to be done much more easily.
  4677.  
  4678. RBBS-PC maintains a log of user activity on a "callers" file.   It contains
  4679. information on the date,  time, communications parameters of who logged on;
  4680. what  they uploaded or downloaded;  and any security violations  or  errors
  4681. that  were generated.   Parameter 90 allows the SYSOP to specify the  fully
  4682. qualified name for the file that RBBS-PC uses for this log.
  4683.  
  4684. If parameter 91 is selected,  additional items of  information are included
  4685. in the CALLERS file:
  4686.  
  4687.      1) "Connect not completed"              9) "Left comment at time"
  4688.      2) "Sleep disconnect"                  10) "Logged off at time"
  4689.      3) "Caller changed name/address"       11) "Carrier dropped at time"
  4690.      4) "Newuser"                           12) "Message # xxxx left at"
  4691.      5) "Bulletin x read"                   13) "Read Messages ..."
  4692.      6) "SYSOP initiated Chat"              14) "Answered questionnaire xxx"
  4693.      7) "Entered Conference/Subboard x"     15) "Killed msg # xxxx"
  4694.      8) "Time limit exceeded"
  4695. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4696. Copyright 1988 by D. Thomas Mack                            Page 85 of 232
  4697.  
  4698. It should be remembered that for each occurrence of the above,  the CALLERS
  4699. file will increase by 64 bytes.   Unless you either have a hard disk or are
  4700. willing  to  frequently maintain your system in order to leave enough  free
  4701. space  on  the  disk  drives for new  files,  this  option  should  NOT  be
  4702. activated.
  4703.  
  4704. Parameter 92 has not been implemented in RBBS-PC.
  4705.  
  4706. Parameter  93 allows the file name to be specified for the file  containing
  4707. the information on the conferences that are to be scanned for mail  waiting
  4708. when  a  user  logs on.  The format of this file  and  the  flexibility  it
  4709. affords the RBBS-PC SYSOP is described more fully in section 19.
  4710.  
  4711. 11.6 Parameters for RBBS-PC "Doors"
  4712. -----------------------------------
  4713. Parameter  101 allows the SYSOP to enable RBBS-PC to exit and return to the
  4714. system (i.e.  DOS).   You will also be asked if you will be running "doors"
  4715. with  MultiLink.   If you reply yes, you may choose what type  of  terminal
  4716. MultiLink  is to assume the user is using when MultiLink  receives  control
  4717. from RBBS-PC.  See the MultiLink manual for the various terminal types.  If
  4718. you  choose terminal type zero, MultiLink will not be given control of  the
  4719. communications  port  when RBBS-PC exits to the "door."  Use this  if  your
  4720. application  is coded to control the communications port.  The  batch  file
  4721. out of which RBBS-PC is invoked should then check to see if a "door" is  to
  4722. be  invoked.   A "door" is simply a batch file that the SYSOP  has  created
  4723. which RBBS-PC users are allowed to exit to and which will then take control
  4724. of the remote users communication port.
  4725.  
  4726. Parameter  102 allows the SYSOP to specify the fully qualified file name of
  4727. the menu that lists the names of the "doors" available to  users.   RBBS-PC
  4728. checks  this  file  to  verify  that the name of the  door  that  the  user
  4729. requested is in the doors menu (see section 15).   A door name in the  menu
  4730. must  have 8 or fewer characters,  be in all caps,  and the only  character
  4731. that can occur immediately before and after the name is a space.
  4732.  
  4733. Parameter  103 allows the SYSOP to specify the fully qualified file name of
  4734. the  file  that RBBS-PC is to use when dynamically building the  .BAT  file
  4735. that invokes the "door" selected by the user.   The batch file that invokes
  4736. RBBS-PC  must contain an "IF" to check if this file exist whenever  RBBS-PC
  4737. terminates and (if it exists) to execute it (see section 14).  This is also
  4738. the same file name that is used when the SYSOP exits to DOS.
  4739.  
  4740. When a door finishes RBBS-PC is re-invoked.  Parameter 104 allows the SYSOP
  4741. to  specify the fully qualified file name of the .BAT file that  should  be
  4742. used  to re-invoke RBBS-PC (see section 14 and section 15).  This  is  also
  4743. the same file name that is used when the SYSOP returns from exiting to DOS.
  4744.  
  4745. Whenever  a remote user exits to a "door" or to DOS (via the  remote  SYSOP
  4746. function 7), RBBS-PC needs to know where to find COMMAND.COM.  In a network
  4747. environment  with several PC's the COMMAND.COM's may be different for  each
  4748. PC.  Parameter 105 allows the SYSOP to specify for the each copy of RBBS-PC
  4749. a disk drive and path on which to find the COMMAND.COM appropriate for that
  4750. copy of RBBS-PC.
  4751. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4752. Copyright 1988 by D. Thomas Mack                            Page 86 of 232
  4753.  
  4754. Parameter  106  allows  the SYSOP to elect how I/O  is  redirected  to  the
  4755. communications  port when dropping to DOS as a remote SYSOP (command  "7").
  4756. When configuring RBBS-PC you may select to have the I/O redirected   either
  4757. via  the  standard  DOS  "Change Console Command"  (CTTY),  or  having  DOS
  4758. redirect  standard I/O (">" or "<").  This parameter allows you to  specify
  4759. if  the  redirected output is to be handled by a special  device  named  in
  4760. CONFIG.SYS.   If  you don't elect to use a special device  driver,  RBBS-PC
  4761. will  redirect the output directly to the communications port  by  building
  4762. the  command "CTTY COMx" or ">COMx and <COMx" , where "x" is based  on  the
  4763. communications  port the node was configured for.  If you specify the  name
  4764. of a device driver, it should also be in the CONFIG.SYS of the system  that
  4765. RBBS-PC is running on.  As an example, if you specified a device driver  of
  4766. GATE, RBBS-PC would build the command CTTY GATE.
  4767.  
  4768. Parameter 107 allows the SYSOP to select how RBBS-PC is to invoke  external
  4769. programs.  There are two ways to execute  these other programs:
  4770.  
  4771.    1.  EXITing RBBS-PC and invoking the other program via a .BAT file that
  4772.        RBBS-PC builds dynamically, or
  4773.    2.  SHELLing to the other program while RBBS-PC remains in memory.
  4774.  
  4775. EXITing  RBBS-PC allows other BASIC programs to be run as external programs
  4776. to RBBS-PC,  conserves memory,  and allows all of RBBS-PC's features to  be
  4777. active in computers with only 320K of memory.   The "price" that is paid is
  4778. that  upon returning from the externally called program RBBS-PC's .EXE file
  4779. must be reloaded into memory.
  4780.  
  4781. SHELLing  prohibits other BASIC programs to be run as external programs  to
  4782. RBBS-PC,  consumes memory because RBBS-PC remains in memory when the  other
  4783. program is running, and requires 386K of memory (under DOS 3.2) to activate
  4784. all  of RBBS-PC's features.  However, SHELLing does eliminate the  need  to
  4785. reload  the RBBS-PC.EXE file each time.
  4786.  
  4787. Parameter  108 specifies the name of a program (i.e. an .EXE or .COM  file)
  4788. that  control  is to temporarily to be passed through when  the  caller  is
  4789. determined  to  be a new user.  When this .EXE or .COM  file  finishes  and
  4790. RBBS-PC   is   re-invoked,  the  RBBS-PC  logon  sequence   will   continue
  4791. uninterrupted from the point at which the caller was determined to be a new
  4792. user.   This feature is intended for those who feel the need to perform  an
  4793. extensive verification of new user's that is not met by RBBS-PC's built  in
  4794. scripting  capability  or automatic subscription functions.   This  feature
  4795. allows those SYSOPs who have the need to reference membership lists, verify
  4796. political  affiliation, interrogate blood type, or "qualify" new users  via
  4797. whatever  criteria seems expedient to their needs/purposes in any way  they
  4798. wish simply by writing a program external to RBBS-PC.
  4799.  
  4800. 11.7 Parameters for RBBS-PC's Security (part 1)
  4801. -----------------------------------------------
  4802. Parameter  121 is the first and last name alias (i.e. pseudonym)  that  the
  4803. SYSOP will use when logging on remotely.  It is this alias name that causes
  4804. RBBS-PC  to recognize the remote caller as the SYSOP and not simply a  user
  4805. with  a security level equal to that of the SYSOP.  This should be a  first
  4806. and  last  name  combination that is not likely to  be  selected  by  other
  4807. callers.    If you want to eliminate anyone from logging on as  the  SYSOP,
  4808. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4809. Copyright 1988 by D. Thomas Mack                            Page 87 of 232
  4810.  
  4811. you  can simply reply with a "null" (i.e.  a carriage return) for the first
  4812. and last name for parameter 121.
  4813.  
  4814. The  ESC key is used to log on in local SYSOP mode.  Parameter 122  can  be
  4815. set  so  that the pseudonym specified for parameter 121 is required  to  be
  4816. entered  from the local keyboard of the personal computer on which  RBBS-PC
  4817. is  running  when the escape key (Esc) is pressed.  If you  enter  YES,  no
  4818. password is required.
  4819.  
  4820. Parameter   123 specifies the minimum security level users need in order to
  4821. log  onto  RBBS-PC and parameter 124 specifies the security level  assigned
  4822. to new users.    If  the security level assigned new users is less than the
  4823. minimum security level to log on, no new  users  can  logon on.  This means
  4824. that  no new users are allowed and access is limited only to pre-registered
  4825. users.  Since one of RBBS-PC's two objectives is to facilitate the exchange
  4826. of information, every RBBS-PC SYSOP is urged to not entirely deny new users
  4827. access.    The  chapters  on  RBBS-PC's  extensive  security  features  and
  4828. subscription  and time management system detail the ways in which  a  SYSOP
  4829. can  control  access to his RBBS-PC without having to deny  access  to  new
  4830. users -- chapters 16 and 10, respectively.
  4831.  
  4832. Parameter  125  specifies the minimum security level a user  must  have  in
  4833. order to be considered a SYSOP .  Even if a user has a high enough security
  4834. level to see the SYSOP menu and execute some or all of the SYSOP  commands,
  4835. the  user  will not be treated as a SYSOP (i.e. allowed to  see  the  files
  4836. upload/download  when viewing the CALLERS file) unless the  users  security
  4837. level is equal to or greater than that specified by this parameter.
  4838.  
  4839. Parameter  126  prevents the SYSOP menu from being displayed (even if   the
  4840. user   has   a  security level of a SYSOP as specified  in  parameter  125)
  4841. unless the user  is also at this security level.
  4842.  
  4843. Parameter  127 is the minimum security level a user must have to  leave  an
  4844. extended (i.e. multiple line description) of a file that was uploaded.  See
  4845. parameter  40 for the maximum number of lines that an extended  description
  4846. will be allowed under the single FMS environment.
  4847.  
  4848. Parameter  128  allows  a  maximum  number  of  security  violations  (i.e.
  4849. attempts  to  download protected files) before the user is logged  off  and
  4850. locked out.
  4851.  
  4852. Parameter  129, parameter 130, parameter 131, parameter 132, and  parameter
  4853. 133  allow the SYSOP to set  up  the  security  levels  required  to  issue
  4854. the commands in the SYSOP,  Main Menu, File Subsystem, Utilities  Subsystem
  4855. (respectively),  and global commands.   All the commands in each  area  can
  4856. be  given  the same security level or,  optionally,  a specific command can
  4857. be  given a unique security level.
  4858.  
  4859. Parameter  134  allows  the SYSOP to specify the maximum  number  of  times
  4860. users   can  change their passwords in a given session.   This  prevents  a
  4861. caller from "fishing" for special passwords.
  4862.  
  4863. Parameter 135 is the minimum security level required in order for users  to
  4864. change  temporarily  their security or  time on the system  via  privileged
  4865. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4866. Copyright 1988 by D. Thomas Mack                            Page 88 of 232
  4867.  
  4868. group  passwords.   If  users  do not have the minimum  security  level  to
  4869. temporarily change their password, ALL password changes that they make will
  4870. be  permanent  -- even  if  the password they select is  in  the  temporary
  4871. password file named in parameter 146 of CONFIG!
  4872.  
  4873. Parameter  136 allows  the  SYSOP to specify a security  level   that   has
  4874. the  privilege  of  overwriting  files (i.e.   files  that  already  exist)
  4875. when   uploading.
  4876.  
  4877. When  the SYSOP "purges" the USERS file, all users who have not  signed  on
  4878. within the number of months specified in parameter 11 are deleted from  the
  4879. file with the exception of those who have been "locked out" and those whose
  4880. security level is equal to or greater than that specified in parameter 137.
  4881.  
  4882. Parameter  138 allows the SYSOP to specify the security level  required  to
  4883. read  new PRIVATE messages.  Only those with this security level or  higher
  4884. can read new private messages -- even if they have been addressed to  them.
  4885. By  setting this value higher than any other user than that of  the  SYSOP,
  4886. the SYSOP can then review all new private messages before allowing them  to
  4887. be  seen by the addressee.  After reviewing these messages, the  SYSOP  can
  4888. change the security level so that the message can be seen by the sender and
  4889. the addressee.
  4890.  
  4891. Parameter  139 allows the SYSOP to specify the security level  required  to
  4892. read  new PUBLIC messages.  Only those with this security level  or  higher
  4893. can read new public messages.  By setting this value higher than any  other
  4894. user  than  the SYSOP, the SYSOP can then review all  new  public  messages
  4895. before allowing them to be seen.  After reviewing these messages, the SYSOP
  4896. can change the security level so that the message can be seen.
  4897.  
  4898. Parameter  140 specifies the minimum security level that is able to  change
  4899. the security level of a message.
  4900.  
  4901. 11.8 Parameters for RBBS-PC's Security (part 2)
  4902. -----------------------------------------------
  4903. Parameter 141 is not implemented in RBBS-PC.
  4904.  
  4905. Parameter  142  allows the SYSOP to specify the drive and  path  where  the
  4906. "personal  directory" and files it contains are located.  If a file  listed
  4907. in  the  directory  is not found here, the download  drives  will  then  be
  4908. searched, so it is not necessary to have a copy of a file here in order  to
  4909. be personally downloadable.   However, the download directory must be here.
  4910. Parameter  142  allows  the  directory and/or  files  that  are  personally
  4911. downloadable not to be accessible through the normal download, if desired.
  4912.  
  4913. The  "personal directory" is utilized by the P)ersonal download command  in
  4914. the files section of RBBS-PC.   It differs from D)ownload in that
  4915.      (a) only files listed in the directory can be downloaded
  4916.          versus any file that exists,
  4917.      (b) the time to download is not checked against the time
  4918.          remaining, so that the file can be downloaded regardless
  4919.          of how little session time remains,
  4920.      (c) the files downloadable can be constrained to match any
  4921.          field in the user's record (e.g. limited by caller's name
  4922. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4923. Copyright 1988 by D. Thomas Mack                            Page 89 of 232
  4924.  
  4925.          so that file is addressed specifically to the caller),
  4926.      (d) the download can be constrained by security level.
  4927.  
  4928. Parameter  143  allows  the  SYSOP to provide the  name  of  the  "personal
  4929. directory"  -- the default name is "PRIV".  If no extension  is  specified,
  4930. ".DEF"  will be used.  The personal directory has a different  format  from
  4931. the  other directory files.   It has a one-character field after  the  file
  4932. description  used  to  mark  whether file has  been  downloaded.   This  is
  4933. followed by the field that matches the user record (or has a security level
  4934. if the first character of the field is blank).
  4935.  
  4936. Parameter  144 is a way of specifying the default protocol to be used  when
  4937. downloading personal files using the "P" command in the file subsystem.  If
  4938. no  protocol  is  specified, the "P" command behaves exactly  same  as  the
  4939. D)ownload  command.   If a protocol is specified, it will  be  used  unless
  4940. overridden by the command line (i.e. "P;test;y").
  4941.  
  4942. Parameter  145 specifies the name of the file that contains a list of  file
  4943. names  that  CANNOT  BE  DOWNLOADED (even if they are  on  the  disks  that
  4944. are   available for downloading) unless the user supplies a password and/or
  4945. is at  a  specific  security level.   If you want to have no file  security
  4946. at  all,   just put no file names in this file.   If you include a password
  4947. with  a file  name  all users (including one with SYSOP privileges) must be
  4948. able  to   give  the password in order to download the file.   For  a  more
  4949. detailed  description  of  this file and how  it  works,  see  the  section
  4950. entitled "How to Implement the Security for Download Files."
  4951.  
  4952. Parameter  146  specifies   the file name which contains   the   privileged
  4953. group   passwords  that allow users to change temporarily  their  security,
  4954. time   on   the  system,   etc.  -- if the SYSOP has set it  up  that  way.
  4955. Callers  shift  to   a   group  password by  changing  passwords.   If  the
  4956. password  they  select  is  found in the  file  containing  the  privileged
  4957. passwords,  their private logon password is unchanged and they receive  the
  4958. security level and/or time limit associated with the group password. If you
  4959. have  no  group passwords,  just put nothing in  this file.    For  a  more
  4960. detailed  description  of  this  file and how it  works,  see  the  section
  4961. entitled "How to Implement the Password File."
  4962.  
  4963. Parameter  147  provides  the SYSOP with the mechanism to  allow  users  to
  4964. download  multiple files using the ASCII protocol (i.e. no error  checking)
  4965. without  any pausing or messages between files.  This is particular  useful
  4966. if the SYSOP wants users to download to a continuous feed printer.
  4967.  
  4968. Parameter  148 specifies the minimum security a user must have in order  to
  4969. be able to "categorize" uploads when the SYSOP is using the File Management
  4970. System (FMS).  Not all callers who upload files may categorize them in  the
  4971. way that the SYSOP wants.
  4972.  
  4973. Parameter  149 controls who can view new uploads based on  security  level.
  4974. If the upload directory is not also the FMS directory, it is only  viewable
  4975. by those who have a sufficient security level.  If the upload directory  is
  4976. the FMS directory, the entries with the default categories will be viewable
  4977. only  if  a  caller  has a security level equal to  or  greater  than  that
  4978. specified in parameter 149 (all other categories are viewable).
  4979. RBBS-PC Version CPC17-1A                                    October 2, 1988
  4980. Copyright 1988 by D. Thomas Mack                            Page 90 of 232
  4981.  
  4982.  
  4983. Parameter  150 specifies the security level of those users who will not  be
  4984. shown the "epilogue" questionnaire.  Typically the "epilogue" questionnaire
  4985. asks users questions or invites them to register.  Once they have done  so,
  4986. the  SYSOP  can  have  their  security  increased  to  this  value   either
  4987. automatically  (i.e. via the questionnaire's script) or manually such  that
  4988. the users no longer see the "epilogue" when they sign off.
  4989.  
  4990. Parameter 151 is the security level required to automatically add a user to
  4991. a  SEMI-PRIVATE  "conference". This parameter can only  be  activated  when
  4992. CONFIG  is  in  "conference maintenance" mode (see  parameter  167).   Each
  4993. message  file has a security level associated with it which is the  MINIMUM
  4994. SECURITY  for  a user to join it if the user is not  in  that  conference's
  4995. USERS file.  Callers with the minimum security level specified in parameter
  4996. 151  are  automatically  added  to the  USERS  file  associated  with  that
  4997. conference if they are not there.
  4998.  
  4999. RBBS-PC's  "auto-add"  security feature permits  SEMI-PRIVATE  conferences,
  5000. that  are  open to callers with a certain security level.   The  "auto-add"
  5001. capabilities  of  RBBS-PC makes it possible for SYSOPs to  have  non-public
  5002. conferences without having to add each desired caller to the user's file.
  5003.  
  5004. A  public  conference is one whose "auto add" security level is  no  higher
  5005. than  the  default security and whose USERS file is the same  as  the  main
  5006. message base's.  This has the advantage of saving disk space (i.e. there is
  5007. only a single USERS file) but the disadvantage of not remembering the  last
  5008. message read by the user in each conference.
  5009.  
  5010. A  totally PRIVATE conference is one that is limited to persons already  in
  5011. the USERS file associated with that conference and is created by making the
  5012. "auto add" security level higher than any caller's security.
  5013.  
  5014. A  SEMI-PRIVATE conference is one that has it's own USERS and welcome  file
  5015. and  whose "auto add" security level is set at an intermediate  level  that
  5016. some callers have and some do not.
  5017.  
  5018. As an example if a conference is to be totally public but the user's  last
  5019. message  read,  preferences,  and security level in the  conference  to  be
  5020. remembered,
  5021.  
  5022.    1.   set the security level required to automatically add a user to  the
  5023.         conference  equal to the CONFIG utility parameter 124 (the  default
  5024.         security level for new callers), and
  5025.  
  5026.    2.   create  a  user's  file  for  the conference.
  5027.  
  5028. All  callers  can  join,  and  each user  is  automatically  added  to  the
  5029. conferences user file as  they  join the conference.
  5030.  
  5031. If  you want a conference to be SEMI-PRIVATE set the security level  to  be
  5032. "auto  add"ed to the conference higher than the default security level  for
  5033. your  system and only those users who have the security level specified  in
  5034. parameter 151 can join the conference.
  5035. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5036. Copyright 1988 by D. Thomas Mack                            Page 91 of 232
  5037.  
  5038. Parameter 152 is the minimum security level for a caller to "turbo logon".
  5039. It  only applies to callers that have called your RBBS-PC system  at  least
  5040. once.  It can be used to bypass everything when a user logs on  (bulletins,
  5041. welcomes,  etc.)  and go directly to the either the main  RBBS-PC  menu  or
  5042. directly to a conference.  It only can be utilized when doing a single line
  5043. log  on  and  by following your password with an  exclamation  point.   The
  5044. "single line" logon has the format:
  5045.  
  5046.     first name;last name;password;!conference name
  5047.  
  5048. As an example, a user named "Jon Smith" who called back for the second time
  5049. and  had a password of "swift" who had been assigned a security level  that
  5050. permitted  "turbo  logon"  privileges  who wanted to  go  directly  to  the
  5051. conference "RBBS-PC" could log on with the following sequence:
  5052.  
  5053.     jon;smith;swift;!rbbs-pc
  5054.  
  5055. Parameter  153  is  the  minimum security required by a  caller  to  add  a
  5056. directory entry for an existing file.  Typically this is restricted to  the
  5057. SYSOP only.
  5058.  
  5059. Parameter 154 is the name of the help file that is automatically shown  (if
  5060. the  file  exists)  to  a caller whenever  the  caller  incurs  a  security
  5061. violation.     It  is an ideal candidate for using  RBBS-PC's  personalized
  5062. "smart" text file capabilities as described in section 8.9.
  5063.  
  5064. Parameter  155 allows the SYSOP to deny callers access to two of  RBBS-PC's
  5065. "premium  features  -- DOORS and file downloading (either or both),  for  a
  5066. specific period of time.
  5067.  
  5068. One  of  the  two purposes of RBBS-PC is to foster  the  free  exchange  of
  5069. information.   Many  SYSOPs  would like to encourage new  callers  to  read
  5070. bulletins and look at messages when they initially logon.  One approach  is
  5071. to  simply restrict new users from all of the other RBBS-PC features  using
  5072. RBBS-PC's  extensive  security system.  RBBS-PC  provides  an  intermediate
  5073. solution by allowing a SYSOP to require a user to be on-line for a specific
  5074. amount  of  time within a session before DOORS or file  DOWNLOADS,  premium
  5075. features, are available to a caller.
  5076.  
  5077. This  feature  is implemented by both activating CONFIG parameter  155  and
  5078. setting up the PASSWRDS file appropriately, see section 16.3.
  5079.  
  5080. For each level in the PASSWRDS file, a parameter specifies how many SECONDS
  5081. the caller must have used before the premium features are available.  If  a
  5082. caller  tries  to  use a locked feature before the time  has  elapsed,  the
  5083. caller  will be given a message and denied access.  This is *NOT*  recorded
  5084. as a security violation.  See section 16.3 for a more detailed  description
  5085. of how to implement this feature in the PASSWRDS file.
  5086.  
  5087. The  file TIMELOCK.HLP should be placed with the other RBBS-PC HELP  files.
  5088. This  file  (if  found)  will be shown to a user who is  locked  out  of  a
  5089. command.   If  the TIMELOCK.HLP file is not available, the caller  will  be
  5090. given  a "canned" message: "Sorry, (name), try that function  later."   The
  5091. example  TIMELOCK.HLP  uses SMART TEXT.  If SMART TEXT is  not  implemented
  5092. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5093. Copyright 1988 by D. Thomas Mack                            Page 92 of 232
  5094.  
  5095. with  control  code  (123), the file TIMELOCK.HLP  should  be  modified  as
  5096. appropriate.
  5097.  
  5098. 11.9 Parameters for Multiple RBBS-PC's/Conferences
  5099. --------------------------------------------------
  5100. RBBS-PC  allows  multiple RBBS-PC's to run in the same  environment/network
  5101. and  share many of the same files.   If you ever plan to do this or if  you
  5102. are  going  to  do this,  set this number to the MAXIMUM  number  you  ever
  5103. envision running.   Up to 36 RBBS-PC's can share the same files.  Different
  5104. environments  have  different  maximum  number  of  nodes  that  they   can
  5105. effectively  support.   Parameter  161  allows you to specify  the  maximum
  5106. number of RBBS-PC's that the MESSAGES file should be initialized for.
  5107.  
  5108. Parameter  162 allows the SYSOP to designate the type of  environment  that
  5109. multiple copies of RBBS-PC will be sharing files in.  This is necessary  so
  5110. that  RBBS-PC  can use the mechanism that is appropriate  to  the  specific
  5111. environment when sharing files.  RBBS-PC currently can handle the following
  5112. environments for multiple RBBS-PC's:
  5113.  
  5114.              1.  MultiLink (The Software Link, Inc.)
  5115.              2.  OmniNet (Corvus)
  5116.              3.  PC-Net (Orchid)
  5117.              4.  DESQview (Quarterdeck Office Systems)
  5118.              5.  10 Net (Fox Research using 3COM interface)
  5119.              6.  IBM's NETBIOS
  5120.  
  5121. NOTE:   Many  manufacturers utilize Orchid's network  conventions.   As  an
  5122. example,  AST  and Alloy are both vendor's whose "network"  is  .EXE  file-
  5123. compatible  with Orchid's.  If you have a network of PC's, check  with  the
  5124. vendor to see how compatible their network is with those supported by RBBS-
  5125. PC.
  5126.  
  5127. Some local area network environments are not designed to have  applications
  5128. constantly branch back to the beginning and re-open already open files.  If
  5129. you are in this environment or simply want to run external programs after a
  5130. user logs off or RBBS-PC recycles,  parameter 163 allows you to elect to do
  5131. this.   If  you specify "internal",  RBBS-PC will function as it  currently
  5132. does  and branch back to its beginning.   If you specify "system",  RBBS-PC
  5133. will  exit to DOS and (if you are running RBBS-PC out of a .BAT  file)  you
  5134. can  then  automatically invoke any other "housekeeping" programs you  want
  5135. before  re-invoking  RBBS-PC.   It  should be noted that this  will  add  a
  5136. considerably  delay  to RBBS-PC's recycling time as RBBS-PC  will  have  to
  5137. reloaded back into memory every time it recycles.
  5138.  
  5139. Like  the MESSAGES file,  the USERS file must also be static in length  for
  5140. RBBS-PC.  Parameter 164 allows the SYSOP to set the size of the USERS file.
  5141. RBBS-PC  automatically keeps track of the records available for use in this
  5142. file  and does the necessary "housekeeping."   To do this RBBS-PC  requires
  5143. the USERS file size (i.e.  the number of records in it) to be a power of 2.
  5144. When  the USERS file get full (i.e.  all its records are used up)  and  the
  5145. SYSOP  neither "packs" it nor increases the size of the file,  no new users
  5146. will be able to be added to the users until one of these two events occurs.
  5147. Parameter 291 lets new users get on even if the users file is full.
  5148. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5149. Copyright 1988 by D. Thomas Mack                            Page 93 of 232
  5150.  
  5151. RBBS-PC  requires  that  the  "Messages" file  be  static  in  length.   It
  5152. automatically  keeps  track  of  the next record  available  and  does  the
  5153. necessary housekeeping to maintain the integrity of the file. Parameter 165
  5154. allows  the  SYSOP  to  set  the  size  of  this  file.    CONFIG.BAS  will
  5155. automatically  determine what size the current file is and will reformat  a
  5156. pre-CPC12-3A  MESSAGES  file if it finds one.   If you do not increase  the
  5157. size of your existing MESSAGES file,  no one will be able to leave any  new
  5158. messages.  Similarly, when the MESSAGES file get full (i.e. all its records
  5159. are used up) and the SYSOP neither "packs" it nor increases the size of the
  5160. file,  no one will be able to leave a message until one of these two events
  5161. occurs.
  5162.  
  5163. The  minimum  size  of the MESSAGES file is equal to  1  (The  "checkpoint"
  5164. record)  plus  the maximum number of concurrent RBBS-PC's ("node"  records)
  5165. plus the maximum number of messages allowed multiplied by 5 (each  messages
  5166. is assumed to average five 128-byte records)
  5167.  
  5168. Therefore, if parameter 161 of CONFIG where 12 and parameter 165 of  CONFIG
  5169. where  50,  the  minimum  number of records that  could  be  specified  for
  5170. parameter 125 would be
  5171.        1 (The "checkpoint record)
  5172.     + 12 (The number of "node" records)
  5173.     +250 (50 messages x 5 128-byte records each)
  5174.     ----
  5175.      263 records for the MESSAGES file
  5176.  
  5177. Parameter  166 lets you set the maximum number of messages that  the  SYSOP
  5178. will  allow  on the  system at any one time.   The number will have  to  be
  5179. based on the size  of  the  average  message on your bulletin board.   Most
  5180. messages  require about  600  bytes  on the average.   The  absolute  upper
  5181. limit  on the number of messages  is  999.   If you specify  250  messages,
  5182. you can expect that the MESSAGES  file  will be formatted to more than 160K
  5183. in size.
  5184.  
  5185. Parameter  167 allows "conference" files to be maintained.  A  "conference"
  5186. consists  of  a  message  file  and,  if  a  "private"  or   "semi-private"
  5187. conference, a  corresponding users file.  The name of the conference can be
  5188. anything  that the SYSOP selects but can not be longer than  7  characters.
  5189. The  message file's name for a conference consists of the  conference  name
  5190. plus  the  characters  "M.DEF".   The  user  file's  name  associated  with
  5191. "private"  conferences consists of the conference name plus the  characters
  5192. "U.DEF".
  5193.  
  5194. Parameter  167  allows the SYSOP to create, expand, or contract  either  or
  5195. both  of the files associated with a "conference."  This occurs  ONLY  when
  5196. the  SYSOP  "ENDs"  the  CONFIG session by pressing  the  key  marked  END.
  5197. Parameter 167 allows the SYSOP to perform all the utility functions on page
  5198. 10 of CONFIG on the conference that was named/selected with parameter 167.
  5199.  
  5200. To  make  a "private" conference "semi-private", see the  discussion  under
  5201. parameter  151.  For a further discussion of "conferences" see sections  18
  5202. and 19.
  5203. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5204. Copyright 1988 by D. Thomas Mack                            Page 94 of 232
  5205.  
  5206. 11.10 RBBS-PC SYSOP Utilities
  5207. -----------------------------
  5208. The  message  file contains all messages for   the   RBBS-PC  system.    As
  5209. messages  are  killed they are only flagged as  inactive.    Parameter  181
  5210. should  be used periodically to recover the space occupied  by  the  killed
  5211. messages.   After  completion,   only the text of active messages  will  be
  5212. present  and the old file will remain on the system with the  qualifier  of
  5213. ".OLD".    Also, you will need enough free disk space for a second copy  of
  5214. the messages file (with a qualifier of ".BAK") when packing a message  file
  5215. or  the packing cannot  be  performed.  If  enough space is not  found  the
  5216. packing  will  terminate abnormally and the message file will be recovered.
  5217.  
  5218. Parameter  182 removes deleted users and users who  have  not  been on  the
  5219. system  within the number of months specified using parameter 16 in CONFIG.
  5220. You   should   have enough free disk space for a second copy of  the  users
  5221. file  (with  a  qualifier of ".BAK") or  the   rebuilding   will  terminate
  5222. abnormally (the users file will be restored).  It is important to note that
  5223. beginning  with CPC12-5A, users files are no longer a random file  that  is
  5224. accessed  sequentially but now is a random file that is accessed  directly.
  5225. When  a user logs on to RBBS-PC or joins a "conference",  RBBS-PC  "hashes"
  5226. the users name to find the users record directly.  That is why every  users
  5227. file's  size is a power of 2 (i.e. 256, 1024, etc.).  This allows users  to
  5228. log  on  much more quickly to RBBS-PC's that have a very  large  number  of
  5229. users.
  5230.  
  5231. Parameter  183 will display the message headers  of all  messages,   active
  5232. and killed,  that are present in the message file.   This is left over from
  5233. one  of the many "debugging" stages of RBBS-PC prior to  CPC09.   Following
  5234. the  policy  of  making all changes  "additive",  this  function  has  been
  5235. retained.  It may help some SYSOPs recover from disk hardware failures.
  5236.  
  5237. Parameter  184  permits messages to be renumbered   sequentially   starting
  5238. from  a  specified  message  using  whatever  starting  number   you  wish.
  5239. Please note that there is not much error checking to be  sure  that the new
  5240. numbers do not duplicate those of lower numbered  active  messages.    When
  5241. complete,   the next message to be created will be the next  higher  number
  5242. from  the resequence.   Unpredictable results will occur if a SYSOP creates
  5243. messages with duplicate numbers!
  5244.  
  5245. Parameter  185 goes through the current message file and  reconstructs  the
  5246. chains  that link the messages together.  Message files that  have  "blank"
  5247. messages or abbreviated messages (i.e. some lines of text are missing)  can
  5248. be repaired with this facility.
  5249.  
  5250. Parameter 186 allows the SYSOP to require all users (old and new) to answer
  5251. the required questionnaire whose name was specified in parameter 82.
  5252.  
  5253. Parameter 187 allows the SYSOP to determine whether the format of the RBBS-
  5254. PC  directory  of files being used by the RBBS-PC  File  Management  System
  5255. (FMS)  conform to the exact fixed format required by the FMS (in  case  the
  5256. text  editor  used by the SYSOP to edit the file inserted tabs  or  shorten
  5257. lines that had trailing blanks at the end of them).
  5258. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5259. Copyright 1988 by D. Thomas Mack                            Page 95 of 232
  5260.  
  5261. Parameter  188  allows  the SYSOP to determine whether the  format  of  the
  5262. personal downloads directory is in the proper format for a single FMS.
  5263.  
  5264. Parameter  189  is  a utility that will guide a  new  SYSOP,  sequentially,
  5265. through the parameters that would normally have to be changed when  setting
  5266. up a new RBBS-PC.
  5267.  
  5268. Parameter  190 is a utility that will guide a SYSOP, sequentially,  through
  5269. the parameters that are new and/or changed for the current release of RBBS-
  5270. PC.
  5271.  
  5272. Parameter 191 is a utility that will turn the "printer enabled" flag off in
  5273. all  the  node  records.   This  is  useful  if  somehow  the  printer   is
  5274. accidentally  enabled  when  no  printer  is  available  because  the  code
  5275. generated by the BASIC compiler doesn't recover from this condition.
  5276.  
  5277. Parameter 192 allows the SYSOP to select how "highlighting" of text will be
  5278. treated.   This prevents users who have not elected to have color  graphics
  5279. from  seeing meaningless data imbedded in the displayed text.   Putting  in
  5280. nothing  disables color prompts and highlighting of search strings.  For  a
  5281. more complete explanation of RBBS-PC's display of colors to callers in text
  5282. files see section 8.10.
  5283.  
  5284. 11.11 Parameters for RBBS-PC's File Management System
  5285. -----------------------------------------------------
  5286. Parameter 201  specifies  the  letter  of the  single  drive  available  to
  5287. this copy of RBBS-PC to which uploaded files can be written. When a file is
  5288. uploaded, the file specified by CONFIG parameter 202 will be  automatically
  5289. appended  with  the  file  name, file size,   date  of  upload,  and  short
  5290. description as specified by the user.
  5291.  
  5292. Parameter   202 of the CONFIG program asks for the name of  the  text  file
  5293. to be used as an RBBS-PC "directory" of files  into  which the  file  name,
  5294. file  size,  and  file  description of uploaded files can be recorded.  The
  5295. default  name  is  99.DIR and  it must be on the  drive/path  specified  in
  5296. parameter 203.
  5297.  
  5298. Parameter  203 specifies the drive/path were the upload directory is to  be
  5299. found.
  5300.  
  5301. Parameter 204 specifies the letters of the drives from which files  can  be
  5302. downloaded.   The  order in which they are specified is the order in  which
  5303. the  drives will be searched.   If the order is BAC,  then drive B will  be
  5304. searched  first for the file,  then drive A,  and finally drive  C.   While
  5305. there can be duplicate files on each of the drives,   the first file  found
  5306. will be the one downloaded to the user.
  5307.  
  5308. Parameter  205 allows the SYSOP to indicate that DOS subdirectories are  to
  5309. be  used  by  allowing  the number of DOS subdirectories  to  be  used  for
  5310. downloading  to  be specified (0 to 9999).   This number is  equal  to  the
  5311. number  of  DOS subdirectories to be used for uploading (0 or 1)  plus  the
  5312. number of DOS subdirectories to be used for downloading.
  5313. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5314. Copyright 1988 by D. Thomas Mack                            Page 96 of 232
  5315.  
  5316. Parameter  206  allows the SYSOP to indicate the DOS subdirectory to  which
  5317. uploads are to be written.   RBBS-PC will prepend the upload disk drive  to
  5318. it  (see  parameter  201)  and append the upload file name  after  it  when
  5319. uploads are written to disk.
  5320.  
  5321. Parameter  207 allows the SYSOP to indicate that DOS subdirectories are  to
  5322. be  used  when searching for files on downloading.  A valid download  drive
  5323. followed by a colon, a reverse backslash, and the subdirectory name that is
  5324. to  be  searched  must be entered.   If the root directory is  also  to  be
  5325. searched,  just  enter  a valid download drive followed by  a  colon.  Each
  5326. download  disk  drive is searched for only those subdirectories  that  were
  5327. specified  as  existing  on  that  specific  drive.  If  two  download  DOS
  5328. subdirectories are specified (A:\TEST1 and B:\TEST2) and two download  disk
  5329. drives for parameter 204 (A and B),  the search for a download file will be
  5330. in the following order:
  5331.  
  5332.             A:\TEST1\filename
  5333.             B:\TEST2\filename
  5334.  
  5335. It  is  possible to have the same subdirectory name on  different  download
  5336. drives.   Each  would  have  to be  individually  specified  (A:\GAMES  and
  5337. B:\GAMES   If  they  where,  the  search for a download file  would  be  as
  5338. follows:
  5339.  
  5340.             A:\GAMES\filename
  5341.             B:\GAMES\filename
  5342.  
  5343. Parameter  208  is only functional if you have responded  "Yes"  to  either
  5344. parameter  206 or parameter 207.  This parameter allows the SYSOP to  list,
  5345. change,  add,  or  delete  the DOS subdirectories to  be  used  for  either
  5346. uploading (parameter 206) or downloading (parameter 207).  CONFIG does  NOT
  5347. actually create or delete such DOS subdirectories -- that's up to the SYSOP
  5348. to  do  using the standard DOS commands.  Parameter 208 simply  allows  the
  5349. SYSOP to identify which DOS subdirectories will (or may) exist when RBBS-PC
  5350. is running.
  5351.  
  5352. Parameter  209  allows the SYSOP to specify the  extension  that  RBBS-PC's
  5353. "directories"  of  files are to have.  See section 13 for a description  of
  5354. RBBS-PC's  "directories" of files.-- they have no relation to DOS  2.x  and
  5355. above subdirectories!  Most SYSOPs categorize the files that are  available
  5356. for downloading into general groups (games, utilities, etc.).  The  default
  5357. is "DIR".
  5358.  
  5359. Parameter   210  specifies  the  alternative  extension  to  be  used   for
  5360. "directory"  files.  The main use for an "alternate" extension is to  allow
  5361. "sub-boards" to share directories using the main extension (parameter 209),
  5362. but  also  have  some directories unique to the "sub-board"  that  are  not
  5363. shared with others.
  5364.  
  5365. The  name  of the directory of directories is specified in  parameter  211.
  5366. This  allows  sub-boards  with  the same  extension  to  have  a  different
  5367. directories of directories.  The main RBBS-PC system might have a directory
  5368. of directories named MAIN.DIR where parameter 211 was "MAIN" and  parameter
  5369. 209  was  "DIR".  A sub-board might have a directory of  directories  named
  5370. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5371. Copyright 1988 by D. Thomas Mack                            Page 97 of 232
  5372.  
  5373. BETA.DIR where parameter 211 was "BETA" and parameter 209 was "DIR".
  5374.  
  5375. Parameter  212 allows the SYSOP to exclude the primary directory  (DIR.DIR)
  5376. from  the   search   done  by  the New  command.    If  you  have  multiple
  5377. directories   (i.e.   RBBS.DIR   through  BASIC.DIR),   any  dates  in  the
  5378. primary  directory  would not be  of  files.   The  "New"  command  (as  in
  5379. "What new files have been  put  on  the  download  directories since I  was
  5380. last  on?")  search each line of each  file  whose extension is DIR  for  a
  5381. date  field.  Since the first level directory is normally a listing of  the
  5382. other directories and their general subject areas, it is advisable to  omit
  5383. the first level directory from the "New" command.
  5384.  
  5385. Descriptions of files uploaded are always appended to the upload directory.
  5386. Parameter 213 allows the description to be appended to another file.   This
  5387. could be,  for example, a list of all files on the system, or the basis for
  5388. a bulletin reviewing the uploads.
  5389.  
  5390. Parameter 214 is how the SYSOP declares that there is a shared, single  FMS
  5391. directory.   Leave  it  blank if there is none.  Section  13  discusses  in
  5392. detail  the  advantages  of using this directory,  which  has  a  different
  5393. structure from other directory files.  This file must be in the  drive/path
  5394. for directories.
  5395.  
  5396. Users who upload can classify uploads into a category if their security  is
  5397. at least as high as the level specified in parameter 148.   This option can
  5398. save  the  SYSOP considerable time.  If the uploader  cannot  classify  the
  5399. upload, it goes only to the upload directory and uses the default  category
  5400. code if written to the FMS directory.
  5401.  
  5402. If  you  do  NOT  want users to categorize  the  files  that  they  upload,
  5403. independent  of  whether or not you are using FMS, simply  set  the  CONFIG
  5404. parameter 148 to a security level higher than any user can obtain.  If  the
  5405. uploader  cannot classify the upload, it goes only to the upload  directory
  5406. and uses the default category code if written to the FMS directory.
  5407.  
  5408. If  you  DO want users to categorize the files that they  upload  you  must
  5409. follow these four steps:
  5410.  
  5411.      1.  Set  CONFIG  parameter 148 to the security level  of  the  U>pload
  5412.          command.
  5413.      2.  Create a help file to show users when they are asked to categorize
  5414.          an uploaded file that might look something like:
  5415.  
  5416.          Category    Category    Description
  5417.            Code        Name
  5418.  
  5419.             1        Utilities   General Utilities
  5420.             2        Games       Games
  5421.             3        RBBS-PC     RBBS-PC files
  5422.             4        RBBS-UTIL   Utilities for RBBS-PC
  5423.  
  5424.      3.  Set  CONFIG parameter 67 to the name of the file that you  created
  5425.          for step 2
  5426. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5427. Copyright 1988 by D. Thomas Mack                            Page 98 of 232
  5428.  
  5429.      4.  If,  and ONLY if, you are using the FMS, create a second  file  in
  5430.          the  format  described in section 13.4 for parameter 217  and  set
  5431.          parameter 217 to the name of the file created in this format.
  5432.  
  5433. Set  parameter 215 to "YES" if there are no directories other than the  FMS
  5434. directory.   That  increases the speed of RBBS-PC because it does not  look
  5435. for additional directories.   If you do not have a shared directory or have
  5436. a  hybrid  system with some physically distinct directory files,  set  this
  5437. parameter to "NO".
  5438.  
  5439. Parameter 216 is the default category code for uploads.   This parameter is
  5440. how  uploads  get  classified in the FMS directory if the  uploader  cannot
  5441. provide  a classification.   To make all new uploads private  and  viewable
  5442. only  by  the  SYSOP (until the SYSOP reviews the  files  and  changes  the
  5443. classification),  set  the default code to "***".   The default is "UC" for
  5444. UnClassified.
  5445.  
  5446. Parameter  217  is  the  name of the text file  which  tells  RBBS-PC  what
  5447. categories  are included in the shared FMS directory.   The format  of  the
  5448. file is described in section 13.5.
  5449.  
  5450. Parameter  218 allows the SYSOP to restrict searches (either  for  specific
  5451. strings or via the "N>ew" command by date) to a single RBBS-PC directory of
  5452. files.  If not restricted, all RBBS-PC file directories will be searched.
  5453.  
  5454. Parameter  219 sets the maximum length of the description that can be given
  5455. to  an uploaded file.  RBBS-PC can be configured so that those  who  upload
  5456. files can provide a description of the file they upload.   This description
  5457. informs  others what the file does and helps them decide whether they  want
  5458. to  download the files.    The maximum length of the description can be set
  5459. to any value between 40 and 46.   WARNING:  this option will not change the
  5460. length of existing directories.
  5461.  
  5462. Parameter  220  specifies  where all directory files must  be  put,  except
  5463. possibly for the upload directory.  Only in this DOS directory does RBBS-PC
  5464. look  for RBBS-PC  directory files,  with the sole exception of the  upload
  5465. directory when the caller's security level permits the upload directory  to
  5466. be viewed (see parameter 149).
  5467.  
  5468. 11.12 Communications Parameters (part 1)
  5469. ----------------------------------------
  5470. Parameter  # 221 requests the user to specify the communication  port  that
  5471. RBBS-PC   will use.  If you specify COM0, RBBS-PC will run on a PC  without
  5472. using a communications port or modem and still appear to the PC user as  if
  5473. they were accessing RBBS-PC remotely.  This "workstation" feature can allow
  5474. RBBS-PC to be used in a local area network environment where each of up  to
  5475. 36  PC's can access the central RBBS-PC system (on the LAN server) and  use
  5476. RBBS-PC   for   electronic  mail  within  the  LAN.    Alternatively   this
  5477. "workstation"  mode can be used to teach users how to access RBBS-PC  in  a
  5478. classroom environment without requiring telephone access.
  5479.  
  5480. The BASIC language can only support COM1 and COM2, and when either of these
  5481. are selected and you specify that you will not be using a "FOSSIL"  driver,
  5482. RBBS-PC  will use the built-in BASIC support for remote access (i.e. via  a
  5483. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5484. Copyright 1988 by D. Thomas Mack                            Page 99 of 232
  5485.  
  5486. communications port and a modem).
  5487.  
  5488. However, RBBS-PC will interface with "FOSSIL" drivers that support not only
  5489. COM1  and  COM2 but also COM3 through COM8.  If you use  parameter  221  to
  5490. indicate  that  RBBS-PC is to access the communication port  via  a  FOSSIL
  5491. driver,  the FOSSIL interface (FOSSCOMM.OBJ) written by Daan Van der  Weide
  5492. will be used.  FOSSCOMM.OBJ provides access to whatever FOSSIL drivers that
  5493. are  installed on the PC running RBBS-PC.  In a  multi-tasking  environment
  5494. such as DESQview up to 8 copies of RBBS-PC can run simultaneously accessing
  5495. COM1  to COM8, respectively, using Ray Gwinn's X00.SYS device driver.   Ray
  5496. can  be reached via FidoNet (109/639) or the RENEX bulletin board at  (703)
  5497. 494-8331 or (703) 690-7950.
  5498.  
  5499. Parameter  222 allows the SYSOP to specify the number of seconds that RBBS-
  5500. PC should wait after initializing the modem with a "reset"  command.   Most
  5501. modems require only 2 seconds, however some may require much (MUCH) longer.
  5502. If  the  2 second default is not sufficient consult with your modem  vendor
  5503. and try different settings.
  5504.  
  5505. Parameter 223 allows the SYSOP to specify how long to wait prior to issuing
  5506. a modem command.   This is most useful when you have configured RBBS-PC  to
  5507. only issue commands between rings and want the modem to "settle down" after
  5508. a  ring has ended.   The default setting is one second.   If you find  that
  5509. 2400  baud calls are improperly connected at 1200 baud,  increase the wait.
  5510. Some modems take longer to connect at 2400 than at lower speeds.
  5511.  
  5512. Parameter  224  specifies the number of rings to wait before answering  the
  5513. phone.   Specifying  zero rings means that the modem  (not  RBBS-PC!)  will
  5514. answer the phone as soon as it rings. If you specify the number ONE,  RBBS-
  5515. PC  will wait for the phone to ring and then instruct the modem  to  answer
  5516. the  phone.   This is the default setting and requires that  the  modem  be
  5517. capable  of  indicating  to RBBS-PC that the phone  is  ringing  --  either
  5518. providing  the  "ring indicator" signal via a modem cable that has  PIN  22
  5519. connected  at both ends OR by sending the characters "RING" each  time  the
  5520. phone rings.
  5521.  
  5522. Specifying  a number equal to ZERO (and not specifying  "ring-back")  means
  5523. that  RBBS-PC will initialize the modem to automatically answer  the  phone
  5524. (independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to
  5525. occur.   This is NOT RECOMMENDED.  However, if your non-Hayes modem  simply
  5526. is  incapable of indicating that the phone is ringing or your  modem  cable
  5527. does not have PIN 22 connected, this is the option you will have to  elect.
  5528. If  this  option is selected, you will be reminded that  you  are  shooting
  5529. yourself in the foot by allowing exiting to DOS remotely (either through  a
  5530. "door"  or via  the SYSOP function 7) when activating "doors" in  parameter
  5531. 101.   This is because in this mode (the modem answering the phone and  NOT
  5532. RBBS-PC),  if  you  were inadvertently disconnected while in DOS  or  in  a
  5533. "door", the next person to dial your system would be connected to  wherever
  5534. you were because the modem (not RBBS-PC) is answering the phone.
  5535.  
  5536. If you specify a number greater than 2 means that RBBS-PC will either:
  5537.  
  5538.     1.  wait until the specified number of rings to answer the phone, or
  5539. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5540. Copyright 1988 by D. Thomas Mack                            Page 100 of 232
  5541.  
  5542.     2.  answer the next call after the current one after the specified
  5543.         number of rings specified provided that the next call comes
  5544.         within 45 seconds after the first call stops ringing the phone.
  5545.         This mode is called RING-BACK.
  5546.  
  5547. Specifying  a  number greater than one is useful only when a  single  phone
  5548. line can receive both voice (i.e. callers who wish to speak with the SYSOP)
  5549. and data calls (i.e. for RBBS-PC) on an unscheduled basis.  In this type of
  5550. environment (i.e.  a random mix of voice and RBBS-PC calls),  there are two
  5551. ways a SYSOP can set up RBBS-PC so that RBBS-PC can automatically determine
  5552. if the call is for the SYSOP or for RBBS-PC.
  5553.  
  5554. First,  the SYSOP can establish the rule with the callers that if unable to
  5555. personally  answer the phone,  then RBBS-PC will answer the phone after  it
  5556. rings the number of times specified in parameter 224.  Callers can let  the
  5557. phone  ring and (if it is not answered by a person within some agreed  upon
  5558. number rings) know that it will be answered by RBBS-PC.  This is useful  to
  5559. those who may have either hearing or speech problems and are unable to  use
  5560. the telephone conveniently for voice communications.
  5561.  
  5562. A second approach is the more classic,  "ring-back" approach.   RBBS-PC can
  5563. be  told to NEVER answer the first call (it can ring  forever!).   However,
  5564. should  the caller WAIT A MINIMUM OF 12 SECONDS (a Hayes  restriction)  and
  5565. call  back no later than 45 seconds after the last ring of the first  call,
  5566. RBBS-PC  will  answer  the  call after the number  of  rings  indicated  in
  5567. parameter  224 provided that the number of rings is set to between one  and
  5568. five. If callers want to make a voice contact, they can simply call and let
  5569. the phone ring until it is answered. If you have a dedicated line for  your
  5570. RBBS-PC  (either full-time or on a scheduled basis),  parameter 224  should
  5571. be set to ZERO.
  5572.  
  5573. Parameter 225 provides the SYSOP with the capability of selecting ANY modem
  5574. commands appropriate for the modem being used -- not just the default Hayes
  5575. commands  RBBS-PC would normally use.  Before the default RBBS-PC  standard
  5576. Hayes commands are changed, you should thoroughly understand the modem that
  5577. your  are  using  and  the modem commands, as used  by  RBBS-PC,  that  are
  5578. described in section 12.
  5579.  
  5580. Parameter 226 allows the software-based MNP to be optional within  RBBS-PC.
  5581. REGRETTABLY,  this option can not be selected with version CPC17-1A.   This
  5582. is  because  it was not possible to resolve the  linkage  incompatibilities
  5583. between  the new compilers and the MNP library and RBBS-PC interface  prior
  5584. to  the  release of CPC17-1A.  Every effort is being made to  correct  this
  5585. particular  problem.   However, RBBS-PC does support MNP protocol  that  is
  5586. hardware-based (i.e. built into the calling and answering modems).
  5587.  
  5588. Some  SYSOPs  may not wish to provide their users with the  choice  of  MNP
  5589. protocol (especially if they are employed by a company that has a competing
  5590. protocol).   RBBS-PC's  features and growth are designed to be  "additive."
  5591. This  parameter  allows  each  SYSOP to decide if MNP  protocol  is  to  be
  5592. available  for  file transfers.  Microcom's error-free protocol,  MNP,  has
  5593. been  available for file transfer beginning with version CPC12-4A of  RBBS-
  5594. PC.
  5595. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5596. Copyright 1988 by D. Thomas Mack                            Page 101 of 232
  5597.  
  5598. Parameter  227  allows the SYSOP to tell RBBS-PC either to  wait  to  issue
  5599. commands in-between rings or to issue modem commands without waiting.  Some
  5600. modems  cannot both handle the telephone ringing and accept modem  commands
  5601. simultaneously.  Other modems, like the Hayes, can handle such simultaneous
  5602. demands.   For these later (i.e. Hayes, Promethus,  Multi-Tech, etc.)  this
  5603. option should be set to "NO."
  5604.  
  5605. Some  2400  baud modems (like the Hayes) MUST be opened initially  at  2400
  5606. baud  because when they automatically answer the phone they can only  "bump
  5607. down" when automatically detecting baud rate (i.e.  from 2400 down to  1200
  5608. down  to  300).  Parameter 228 allows the SYSOP to select the baud rate  at
  5609. which RBBS-PC is to open the modem at initially.
  5610.  
  5611. The SYSOP can select the number of seconds RBBS-PC will allow a user to  be
  5612. "idle"  (i.e. not sending or receiving data) via parameter 229.   Before  a
  5613. user  is  logged off, a warning message is issued.  If the  caller  remains
  5614. idle for the following 30 seconds the caller is automatically logged off.
  5615.  
  5616. Parameter 230 allows the SYSOP to indicate if a "dumb" modem is being  used
  5617. (i.e. one that will answer the phone and automatically detect the  caller's
  5618. baud  rate  if it is the the modem was opened for).  Selecting  this  means
  5619. that no modem commands are written to the modem.
  5620.  
  5621. If the SYSOP has a non-Hayes modem (i.e.  one that will not recognize Hayes
  5622. commands and will not return Hayes responses) that will only  "auto-answer"
  5623. the  phone,  parameter  230 allows the SYSOP to so indicate to  RBBS-PC  by
  5624. selecting  "dumb"  modem.   Typically  this would  be  some  communications
  5625. network (i.e.  TymnNet) or local area network that supplied a simple RS-232
  5626. interface.  Selecting this option causes RBBS-PC to
  5627.  
  5628.          1.  Issue no Hayes commands,
  5629.          2.  Depend on no Hayes-like responses,
  5630.          3.  Control the interface with the Data Terminal Ready (DTR),
  5631.          4.  Assume somebody has called whenever Carrier Detect (CD) is
  5632.              detected, and
  5633.          5.  Assume that whomever calls is at the baud rate selected in
  5634.              CONFIG parameter 228.
  5635.  
  5636. The  Hayes  2400  baud modem has no hardware  switches.   It's  remembered,
  5637. permanent  settings can be set only through software.  Parameter  231  will
  5638. properly initialize a Hayes 2400 modem for use with RBBS-PC.
  5639.  
  5640. Parameter  232  is the time to wait after dropping DTR.   This is  used  in
  5641. RBBS-PC for dropping the connection after a caller logs off normally.   Too
  5642. short  a  delay will cause the modem not to  re-initialize  properly.   The
  5643. default time is 3 seconds.
  5644.  
  5645. In  order  to provide the maximum flexibility (and get RBBS-PC out  of  the
  5646. protocol writing business), RBBS-PC supports external protocol drivers  via
  5647. a  standard interface.  The external protocol driver for  YMODEM,  YMODEMG,
  5648. IMODEM  is the file QMXFER.EXE.  The external protocol driver for  WINDOWED
  5649. XMODEM  is  WXMODEM.EXE.   The  external  protocol  driver  for  KERMIT  is
  5650. PCKERMIT.EXE.   These  protocols  work only if  the  external  drivers  are
  5651. available  and  defined  in  file specified by  parameter  233.   Also  see
  5652. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5653. Copyright 1988 by D. Thomas Mack                            Page 102 of 232
  5654.  
  5655. sections 21.1 and 22.2 on how these drivers are invoked.
  5656.  
  5657. RBBS-PC  can  check  right  after a caller logs  on  whether  the  caller's
  5658. communication  program  supports autodownload.   Turning on  parameter  234
  5659. means  that  RBBS-PC  will always do this check.  However,  this  check  is
  5660. incompatible with some terminals and communications packages, causing  them
  5661. to  stop displaying on the local screen.  If the check is  passed,  RBBS-PC
  5662. announces  that autodownload is available and asks callers if they want  to
  5663. use  it.  This check is unnecessary for autodownload to work.   The  caller
  5664. can  control  whether  autodownload is used with  the  T)oggle  command  in
  5665. utilities.  It is recommended that this option NOT be enabled.
  5666.  
  5667. Parameter 235 allows the SYSOP to tell RBBS-PC that files ending in  binary
  5668. file   extensions  (i.e.  .ARC, .EXE,  .COM,  .OBJ, .WKS,  .BAS,  or  whose
  5669. second  letter  of the  extension is Q) can not be downloaded  unless  the
  5670. user  selects   a  non-ASCII protocol.  This  should  eliminate  some  user
  5671. problems  before  they occur.   IBM's  BASIC  interpreter's   SAVE  command
  5672. default is to  write  files in a special binary format (also referred to as
  5673. 'tokenized') because they require much less disk space.
  5674.  
  5675. Parameter 236 allows a SYSOP to use some of the "less than perfect"  modems
  5676. that  have a tendency to "go to sleep" under rigorous usage.  Setting  this
  5677. parameter to a non-zero value, means that RBBS-PC will re-cycle if no calls
  5678. are  received after the specified non-zero value number of  minutes.   When
  5679. re-cycling  RBBS-PC resets the modem -- hence "wakes it up" if it has  gone
  5680. to  sleep.   A setting of 10 minutes is recommended for busy lines  and  60
  5681. minutes for less busy lines.  Specifying 0 means that RBBS-PC will not  re-
  5682. cycle if no calls are received, but simply wait for the next caller.
  5683.  
  5684. Parameter  237 gives the SYSOP the option of leaving the modem at the  baud
  5685. rate it was initially opened at rather than automatically matching the baud
  5686. rate  of the caller.  RBBS-PC normally changes the baud rate in the  RS-232
  5687. interface  to match that of the callers.  Some modems will match  the  baud
  5688. rate of the incoming caller and allow the PC to continue communicating with
  5689. it  at the baud rate the modem was opened at (the modem buffers it down  to
  5690. the  callers baud).  Some 9600 baud modems will allow the PC that they  are
  5691. connected  with to transfer data to them at 19,200 baud and the modem  will
  5692. talk to the caller at whatever the baud rate of the incoming callers  modem
  5693. is set at.
  5694.  
  5695. 11.13 Communications Parameters (part 2)
  5696. ----------------------------------------
  5697. Some of the less sophisticated communications packages automatically switch
  5698. back to their original communications parameters for parity, data bits, and
  5699. stop  bits if the user manually changes them during the session.  Similarly
  5700. some of the older public data networks can't talk to a terminal that is set
  5701. at  N/8/1.  As all error-free protocols typically require the settings  for
  5702. these  to  be N/8/1 (i.e. no parity, eight data bits, and  one  stop  bit),
  5703. parameter  241  allows  the SYSOP to have RBBS-PC  accommodate  these  more
  5704. primitive  environments  by automatically switching back  to  the  original
  5705. parameters after the file transfer is complete.
  5706.  
  5707. Parameter 242 allows a SYSOP to decline calls from new callers based on the
  5708. baud rate specified.
  5709. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5710. Copyright 1988 by D. Thomas Mack                            Page 103 of 232
  5711.  
  5712.  
  5713. Some SYSOPs believe that 300 BAUD users have a "pre-puberty" mentality  and
  5714. cause  more  problems (i.e. infantile messages) for the  SYSOP  than  their
  5715. contributions  justify.    Another reason for denying access  to  300  BAUD
  5716. users  is when RBBS-PC is running in a multi-tasking DOS  environment  that
  5717. does not handle 300 BAUD very efficiently (i.e. like MultiLink).
  5718. While  RBBS-PC is intended to be as open a system as possible,  each  SYSOP
  5719. has  the option of electing to accept calls of only a certain baud rate  or
  5720. higher for new callers.  Whatever reasons a SYSOP has for denying access to
  5721. 300  BAUD  users, this option enables the SYSOP to select to  do  so  using
  5722. CONFIG rather than having to modify the RBBS-PC source code.
  5723.  
  5724. Parameter 243 allows RBBS-PC to be configured to allow registered users  to
  5725. logon at any baud rate baud even if new users can't.
  5726.  
  5727. Parameter 244 allows modems that require it, to have "flow control" between
  5728. the modem and the PC running RBBS-PC using the "clear-to-send" signal, RTS.
  5729. Some  modems with built-in error checking protocols require this to be  set
  5730. on or, should an error-free link become disconnected, the modem will  never
  5731. respond to the PC after RBBS-PC recycles.
  5732.  
  5733. Parameter 245 allows another method of "flow control" between the modem and
  5734. the PC running RBBS-PC -- XON/XOFF.  Since RBBS-PC attempts to write to the
  5735. caller as fast as possible, XON/XOFF flow control is normally turned off --
  5736. unless parameter 245 has enabled it.  When RBBS-PC is attached to a  public
  5737. data  network,  it can be sometimes necessary to use this  method  of  "flow
  5738. control"  rather  than "clear-to-send".  Setting this  parameter  to  "yes"
  5739. means that RBBS-PC will universally support XON/XOFF.  However the XON/XOFF
  5740. check  is only made after the buffer is emptied as specified  in  parameter
  5741. 54.   It  is recommended, when XON/XOFF flow control is going to  be  used,
  5742. that  parameter  54 be set to 32 bytes so RBBS-PC can be as  responsive  as
  5743. possible.
  5744.  
  5745. Parameter 246 specifies the maximum time to wait for carrier after  RBBS-PC
  5746. answers  the  phone.   Some of the "less than  perfect"  modems  disconnect
  5747. immediately  and RBBS-PC would stay "off the hook" long enough  to  receive
  5748. the  automated  voice message requesting the modem to "hang up  and  please
  5749. dial again."
  5750.  
  5751. 11.14 Parameters for RBBS-PC NET-MAIL
  5752. -------------------------------------
  5753. Parameter  261 allows the SYSOP to specify the time of day in  HHMM  format
  5754. after  which  RBBS-PC  is  to  exit after  creating  a  dummy  file  called
  5755. RBBSxTM.DEF  where "x" is the node ID of the node that EXITed to  DOS.   By
  5756. adding  two  "IF" statements to the simple .BAT file described  in  Section
  5757. 14,  the  RBBS-PC-created file RBBSxTM.BAT will be invoked  if  RBBS-PC  is
  5758. invoked with the following .BAT file (assuming "x" = node id = 1):
  5759. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5760. Copyright 1988 by D. Thomas Mack                            Page 104 of 232
  5761.  
  5762. IF EXIST C:RBBS1F1.DEF DEL C:RBBS1F1.DEF  ' Delete SYSOP F1 semaphore
  5763. IF EXIST C:RBBS1TM.DEF DEL C:RBBS1TM.DEF  ' Delete Time to go to DOS semaphore
  5764. IF EXIST C:RCTTY1.BAT  DEL C:RCTTY1.BAT   ' Delete batch file for DOOR exit
  5765. RBBS-PC.EXE 1 RBBS1PC.DEF                 ' Invoke RBBS-PC for node 1
  5766. IF EXIST C:RBBS1F1.DEF GOTO EXIT          ' Check for SYSOP F1 key pressed
  5767. IF EXIST C:RBBS1TM.DEF C:RBBS1TM.BAT      ' Check for Time to go to DOS
  5768. IF EXIST C:RCTTY1.BAT  C:RCTTY.BAT        ' Check for exit to a DOOR
  5769. C:RBBS.BAT                                ' Re-invoke RBBS-PC again
  5770. :EXIT
  5771.  
  5772. The  above  assumes  that RBBS-PC node is "1", the name of  the  file  that
  5773. invoked RBBS-PC is RBBS.BAT, and everything is in the same DOS subdirectory
  5774. on the "C" drive.  Obviously, this example can be made more generic.
  5775.  
  5776. The file that RBBS-PC exits to is named RBBS1TM.BAT (but it could be  named
  5777. anything that the SYSOP desired).  It is the responsibility of the SYSOP to
  5778. name and create the RBBS1TM.BAT file.  A simple such file that invoked  Kim
  5779. Wells'  utility  MU-PURGE  and then re-invoked RBBS-PC  would  contain  the
  5780. following two statements:
  5781.  
  5782. MU-PURGE PURGE.CTL
  5783. RBBS.BAT
  5784.  
  5785. As always, .BAT files are limited only by the creativity of their authors.
  5786.  
  5787. Parameter 262 allows RBBS-PC to handle "store-and-forward" mail of messages
  5788. and files.  Currently the only such "net mail" that is compatible with  the
  5789. FIDO store-and-forward mail specification is supported such as FIDO, SeaDog
  5790. (see  Appendix  V) and BINKLEY TERM.  By enabling this  option,  the  SYSOP
  5791. assumes the responsibility of configuring the "net mail" application to
  5792.  
  5793.      1. answer the phone and determine if the caller is sending "net mail".
  5794.  
  5795.      2. if the caller is not sending "net mail", the net mail application
  5796.         must invoke RBBS-PC with the following command line:
  5797.                RBBS-PC.EXE nodeid filename /time /baud
  5798.         where:
  5799.            "nodeid" is the node ID in the range 1-9, 0, or A-Z.
  5800.            "filename" is the fully qualified file name to use as the
  5801.                 RBBS-PC ".DEF" file.
  5802.            "/time" is the time of day for RBBS-PC to return to the "net
  5803.                 mail" application that called RBBS-PC.
  5804.            "/baud" if the baud rate that the caller dialed in at.
  5805.  
  5806. Parameter 263 is intended to be used when RBBS-PC is connected to a  public
  5807. data network (PDN) as a "node" -- not all systems that people log into on a
  5808. PDN  need  be "main frame" computers!  When RBBS-PC is a node on  a  public
  5809. data  network,  typically the network will do the echoing  --  between  the
  5810. caller and the port he/she accesses on the PDN and between RBBS-PC and  the
  5811. port  RBBS-PC  accesses  on the PDN.  This causes file transfers  to  be  a
  5812. problem  because the PDN will continue to echo.  Therefore it is  necessary
  5813. to be able to go into an "image" mode where data is passed through the  PDN
  5814. intact with no echoing.  The contents of this string is obviously dependent
  5815. on the predilections of the PDN that RBBS-PC is attached to.  The string is
  5816. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5817. Copyright 1988 by D. Thomas Mack                            Page 105 of 232
  5818.  
  5819. sent just before a file exchange occurs.  Any character can be included  in
  5820. the  string using it's decimal ASCII equivalent simply by putting a  number
  5821. inside  square  brackets.   Characters  not  in  square  brackets  will  be
  5822. transmitted  as they were entered.  The string "a[32]" will be  interpreted
  5823. as a lower case letter "a" followed by a blank.
  5824.  
  5825. Parameter 264 is intended for situations where RBBS-PC is a node on a  PDN.
  5826. It is the string that sent following a file exchange that causes the PDN to
  5827. resume  echoing.   As with parameter 263, the contents of  this  string  is
  5828. entirely dependent on the predilections of the PDN that RBBS-PC is attached
  5829. to.
  5830.  
  5831. Parameter  265 allows the SYSOP to specify the default mode of  who  echoes
  5832. characters  back to the user.  Normally RBBS-PC echoes each character  that
  5833. the  caller  types  back  to them.  An  individual  caller  can  set  their
  5834. preference  for who is doing the echoing in the Utilities subsystem  within
  5835. RBBS-PC.  Callers using telecommunications devices for the deaf (TDD's)  or
  5836. using  PDN's that do local echoing can dramatically improve  their  through
  5837. put by not having RBBS-PC echo characters back to them.
  5838.  
  5839. Parameter  266 allows the SYSOP to force RBBS-PC to acknowledge  each  line
  5840. uploaded  via the ASCII file transfer with a character string.   Typically,
  5841. an ASCII upload is characterized by two fundamental features -- it contains
  5842. no  unprintable  characters and it does not require any  "error  checking".
  5843. Under  some circumstances a callers communications protocol may  require  a
  5844. response  from  RBBS-PC  (i.e. a line feed) before the next  line  will  be
  5845. transmitted.
  5846.  
  5847. 11.15 New Users Parameters
  5848. --------------------------
  5849. Parameter  281  allows  the SYSOP to elect to not ask new users  for  their
  5850. default  parameters.   RBBS-PC  typically  asks  new  users  whether  their
  5851. terminal supports upper case, whether they want line feeds, what they  want
  5852. for  a  graphics  preference, what they want for a  default  protocol,  and
  5853. whether  they  want  "turbo-key".  Sometimes these  questions  confuse  new
  5854. users, who lack the knowledge to answer them.  To bypass the questions  and
  5855. force  new users to get the defaults (upper and lower case, line feeds,  no
  5856. graphics, no protocol, no nulls), specify "NO" this parameter.
  5857.  
  5858. Parameter 282, parameter 281, parameter 282, parameter 283, parameter  284,
  5859. parameter  285, parameter 286, parameter 287, parameter 288, and  parameter
  5860. 289 are not implemented in RBBS-PC.
  5861.  
  5862. Parameter  290  controls whether new users are logged to  the  USERS  file.
  5863. RBBS-PC  normally logs new users in the users file and recognizes  them  as
  5864. having previously logged on should they call back.  If the SYSOP wants  new
  5865. users not to be logged to the users file specify "NO" to parameter 290.
  5866.  
  5867. Parameter  291  allows  the SYSOP to permit RBBS-PC to  continue  operating
  5868. should  the  users  file run out of room for new users.   Until  the  SYSOP
  5869. rebuilds the users file or expands it, there are then two options:
  5870.  
  5871.      1.   do not let the new user on, or
  5872.      2.   let the new user on but do not try to add him to the user file.
  5873. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5874. Copyright 1988 by D. Thomas Mack                            Page 106 of 232
  5875.  
  5876.  
  5877. Saying  "YES"  to parameter 291 enable new users to be allowed on  on  when
  5878. there  is  no  room  rather  than being told there  is  no  room  and  then
  5879. disconnected.
  5880.  
  5881. 11.16 Use of the Library Sub-System
  5882. -----------------------------------
  5883. Parameter 301 allows the SYSOP to designate/activate the Library-Subsystem.
  5884. The default for this parameter is "<none>".  This deactivates the  function
  5885. in  its entirety.  To activate the Library-Subsystem select this  parameter
  5886. and specify the drive that contains your Library Disks.  Note:  This  drive
  5887. MUST  be a separate drive and not the same drive as any other drive in  use
  5888. by  RBBS-PC.  If RBBS-PC is going to be run on a single hard disk  and  the
  5889. Library-Subsystem  activated, PC-DOS 3.1 or greater and the  SUBST  command
  5890. must be used to allocate the library disks to a pseudo drive different from
  5891. the other drive in use by RBBS-PC.
  5892.  
  5893. Parameter  302  is used to select the drive\path where RBBS-PC should  look
  5894. for  the upper level file directory (CDR.CDR is the  default  name).   This
  5895. should be the same drive selected in parameter 220.
  5896.  
  5897. Parameter 303 allows the extension to be used to identify the Library upper
  5898. level directory to be specified.  (CDR is the default).
  5899.  
  5900. Parameter 304 is used to identify the drive\directory the Library subsystem
  5901. should use for creating archive files for transmission.  Since the input to
  5902. the archive function would be one 360k floppy disk worth of data the  space
  5903. requirements  will  be less than 360k.  A RAM disk for this use  should  be
  5904. considered.   In  every  case the fastest disk drive  available  should  be
  5905. specified in this parameter.
  5906.  
  5907. Parameter  305 is used to specify the highest disk number available in  the
  5908. Library.   This value is used in editing the user request for access to the
  5909. Library.
  5910.  
  5911. Parameter  306  is  used  to  specify the maximum  number  of  upper  level
  5912. directories  that will be found on the Library disk.  The PC-SIG CD-ROM  is
  5913. organized with 10 upper level directories, 1-100, 101-200, 201-300 etc. and
  5914. each of these contain 100 directories, DISK001, DISK002 etc.
  5915.  
  5916. Parameter  307  is  the maximum number of subdirectories  that  each  upper
  5917. level directory can contain.  (100 in the above example)
  5918.  
  5919. Parameter 308 is used to specify the prefix of the lower level directories.
  5920. (DISK in the above examples).   Since the user enters only the disk  number
  5921. that  is  desired,  RBBS-PC  creates the subdirectory name  based  on  this
  5922. parameter and the number entered.
  5923.  
  5924. Parameter  309 is used to identify the drive\path\name of the Library  Sub-
  5925. system menu.  MENU6 is the default.
  5926.  
  5927. Parameter  310 is a list of the symbols that are available from the Library
  5928. Sub-System menu.
  5929. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5930. Copyright 1988 by D. Thomas Mack                            Page 107 of 232
  5931.  
  5932. Parameter 311 contains the security values related to the symbols listed in
  5933. parameter 310.
  5934.  
  5935. Parameter 312 is used to identify the drive\path where the archive  utility
  5936. program can be found.  (Be sure that is where it is!)
  5937.  
  5938. Parameter  313 is used to identify the archive utility that you wish to use
  5939. to do the archiving process on Library disks.  When answering the questions
  5940. to this parameter you will also be asked what the CREATE parameter is.  For
  5941. PKARC  and  ARC  the correct response is "A".  If using ARCA  there  is  no
  5942. CREATE  parameter  since  CREATE  is the only  function  that  it  can  do.
  5943. Therefore just press enter without entering a CREATE command.
  5944.  
  5945. 11.17 RBBS-PC's Parameters for Color
  5946. ------------------------------------
  5947. A detailed explanation of the use of colors within RBBS-PC can be found  in
  5948. section  8.10.  Parameter 321 is the string that turns ON  highlighting  or
  5949. emphasizing  of  characters in text strings displayed to the  caller.   The
  5950. RBBS-PC default is a bright foreground on a red background.
  5951.  
  5952. Parameter  322 is the string that turns OFF highlighting or emphasizing  of
  5953. characters in text strings displayed to the caller.  The RBBS-PC default is
  5954. amber foreground (normal yellow) and black background.
  5955.  
  5956. Parameter  323, parameter 324, parameter 325, parameter 326  and  parameter
  5957. 327  are  used in conjunction with one another.  Parameter 327 is  used  to
  5958. offset commands a caller actually needs to type in to select an option.
  5959.  
  5960.  
  5961. 12.  THE HAYES MODEM SWITCH SETTING AND CONSIDERATIONS
  5962. ------------------------------------------------------
  5963. 12.1 Hayes Smartmodem 1200 Switch Setting Considerations
  5964. --------------------------------------------------------
  5965. RBBS-PC is tested with a HAYES Smartmodem 1200 (i.e.  external). The switch
  5966. settings on the modem must be as follows:
  5967.               switch -- 12345678
  5968.               setting - UUDDDUUD
  5969.  
  5970. Recognizing  that there are many "Hayes-compatible" (and not so compatible)
  5971. modems in use,  this section is intended to assist those adventurous  souls
  5972. who  use such modems and need some guidance on what the otherwise  mystical
  5973. Hayes switch settings mean.  The following table may be of some help:
  5974.  
  5975.               Setting            Function to RBBS-PC
  5976. Hayes  | Factory | RBBS-PC |
  5977. Switch |---------|---------|    (NOTE "Up" means enabled or "on")
  5978.   1       Down       Up       Allows RBBS-PC to control the modem using the
  5979.                               RS-232 DTR lead (pin 20).
  5980.   2        Up        Up       Not meaningful to RBBS-PC (could be down) and
  5981.                               is used to indicate if result codes are to be
  5982.                               English words or single digits.  RBBS-PC sets
  5983.                               this with the Hayes "V" command.
  5984.   3       Down      Down      Not meaningful to RBBS-PC (could be down) and
  5985.                               is used to indicate if result codes are to be
  5986. RBBS-PC Version CPC17-1A                                    October 2, 1988
  5987. Copyright 1988 by D. Thomas Mack                            Page 108 of 232
  5988.  
  5989.                               sent to RBBS-PC.  RBBS-PC sets this with the
  5990.                               Hayes "Q" command.
  5991.   4        Up       Down      The modem does not echo characters unless
  5992.                               half-duplex is selected and the modem is on-
  5993.                               line.
  5994.   5       Down      Down      Modem is NOT to answer incoming calls.  RBBS-
  5995.                               PC monitors the ring indicator (pin 22) to
  5996.                               determine if the phone is ringing.  If it is,
  5997.                               RBBS-PC will issue the necessary commands to
  5998.                               the modem.
  5999.   6       Down       Up       RBBS-PC checks for the carrier signal using
  6000.                               the RS-232 Carrier Detect lead (pin 8).  If
  6001.                               carrier is lost, RBBS-PC hangs up the phone
  6002.                               and re-cycles to await the next call.
  6003.   7        Up        Up       Not really required by RBBS-PC.   However  in
  6004.                               the "down" position, the telephone extension
  6005.                               light will illuminate on a multi-line
  6006.                               installation when the modem answers a call.
  6007.   8       Down      Down      Enables the Smartmodem 1200 to recognize the
  6008.                               Hayes commands issued by RBBS-PC.
  6009.  
  6010. The most common problem, "RBBS-PC continually recycles," occurs when switch
  6011. six is left in the factory position.
  6012.  
  6013. These   switch  settings  do  not  have  to  be  changed  for  most   other
  6014. communications software packages.  (You can leave the switches set as shown
  6015. above if you use PC-TALK for your smart terminal  communications.  However,
  6016. you will be advised to give the modem an "ATZ" command before using PC-TALK
  6017. in   order  to reset the registers correctly.)  RBBS-PC should be used only
  6018. with  versions 123 and above of the Hayes Smartmodem 1200 and with  version
  6019. 247  and  above of the Hayes Smartmodem 2400.   Earlier versions   do   not
  6020. answer   the  telephone  properly.    The  ATI  command  will   cause   the
  6021. Smartmodem to tell you its version.
  6022.  
  6023. Hayes is now shipping an external modem called the Hayes 1200FE that has 10
  6024. switch  settings.   To run RBBS-PC switches 9 and 10 of the 1200FE must  be
  6025. left  up  (the factory setting).   Hayes is also now shipping  an  internal
  6026. modem called the Hayes 1200BFE that has 6 switch settings.   To run RBBS-PC
  6027. switches 4,  5,  and 6 must be left up (the factory setting).  If you can't
  6028. figure  out what the switching settings on these new modems should be based
  6029. on  the  switch settings given for the "original" Hayes  1200,  CALL  HAYES
  6030. TECHNICAL SUPPORT!  Since I don't have the newer modems, I won't be of much
  6031. help if you call me.
  6032.  
  6033. 12.2 Hayes Command's Considerations
  6034. ----------------------------------
  6035. The  Hayes commands used to control the modem are all external  to  RBBS-PC
  6036. beginning  with version CPC13-1A.   These command strings are in the  RBBS-
  6037. PC.DEF  file which may be modified using CONFIG parameter 225.
  6038.  
  6039. The  RBBS-PC.DEF  file  contains five Hayes command strings -- one  on  the
  6040. second  line of the .DEF file and four on the last line of the  .DEF  file.
  6041. Using  RBBS-PC's  CONFIG  utility's defaults,  the command strings  are  as
  6042. follows.
  6043.